Parašė SnowFlake· 2010 Rugs. 14 23:09:52
#2
Sukuriau ne as o NEONAS
Stai jo postas
Taigi šendian exposeD prašė pagalbos su registracija tad nusprendžiau ir jums parašyti visa registracijos ir prisijungimo skriptą. Jis toks paprastutis, nenaudojau cookies tik sesijas tad tai ne stebuklai. Ir apsaugų kolkas dar nepadariau nes mažokai laiko, galbūt kas papildys arba aš pats kai daugiau laiko ir noro bus :)
Taippat nieko nepiešiu ant atskiro lapo nes šendian persirašiau win tai ps neturiu kolkas :D Tad kentėkit taip.
MySQL Lentelės:
CREATE TABLE nariai (
nario_id int(25) NOT NULL auto_increment,
vardas varchar(25) NOT NULL default '',
email varchar(255) NOT NULL default '',
nikas varchar(25) NOT NULL default '',
slaptazodis varchar(255) NOT NULL default '',
PRIMARY KEY (nario_id),
UNIQUE KEY nikas (nikas)
) TYPE=MyISAM COMMENT='Vartotojai';
registracija.php failas:
<form name="login" method="post" action="registracija_veiksmas.php">
<table border="0" width="255" algin="center">
<tr>
<td width="219" bgcolor="#999999">
<p algin="center"><font color="white"><span style="font-size:12pt;"><b>Registracija</b></span</font></p>
</td>
</tr>
<tr>
<td width="219">
<table border="0" width="282" algin="center">
<tr>
<td width="116"><span style="font-size:10pt;">Vardas</span></td>
<td width="156"><input type="text" name="name" maxlength="100"></td>
</tr>
<tr>
<td width="116"><span style="font-size:10pt;">Email:</span></td>
<td width="156"><input type="text" name="email" maxlength="100"></td>
</tr>
<tr>
<td width="116"><span style="font-size:10pt;">Nikas:</span></td>
<td width="156"><input type="text" name="nikas"></td>
</tr>
<tr>
<td width="116"><span style="font-size:10pt;">Slaptazodis:</span></td>
<td width="156"><input type="password" name="slaptazodis"></td>
</tr>
<tr>
<td width="116"> </td>
<td width="156">
<p align="right"><input type="submit" name="submit" value="Registruotis"></p>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="219" bgcolor="#999999"> </td>
</tr>
</table>
</form>
Šioks toks table padarytas kad gyviau atrodytu o daugiau kaip ir nieko įpatingo :)
registracija_veiksmas.php failas:
<?php
require 'branduolys.php';
$vardas = $_POST['vardas'];
$email = $_POST['email'];
$nikas = $_POST['nikas'];
$slaptazodis = md5($_POST['slaptazodis']);
//patikriname ar registruojamas narys dar neegzistuoja
$tikrinti = mysql_query("SELECT nikas FROM nariai WHERE nikas='$nikas'");
$nikas_egz = mysql_num_rows($tikrinti);
if($nikas_egz > 0){
echo"Atsiprasome taciau jusu norimo vartotojo vardas jau naudojamas";
unset($nikas);
include'registracija.php';
exit();
}
// jei visi duomenys teisingi tada pirmyn!
$query = "INSERT INTO nariai (vardas, email, nikas, slaptazodis)VALUES('$vardas', '$email', '$nikas', '$slaptazodis')";
mysql_query($query)or die(mysql_error());
mysql_close();
echo"Registracija buvo sekminga";
/*
Jei noresite jog po registracijos nariui automatiskai isiustu email zinute tad parasau zemiau skripta, jei ne tiesiog nutrinkite ji ir tiek ;)
*/
$saitas = 'www.Grafi.lt';
$webmasteris= 'Neonas';
$tavoEmail = 'hk_tm@yahoo.com';
$subject = "Jus sekmingai isiregistravote i $saitas";
$massage = "Mielas $vardas sveikaname jus prisiregistravus i musu bendruomene ir linkime smagiai praleisti laika. Jusu duomenis zemiau:
Nikas: $nikas
Slaptazodis: $slaptazodis
Prasome neskelbti savo duomenu tretiesiems asmenims.
Pagarbiai $webmasteris
";
mail($email, $subject, $massage, "From: $tavosaitas <$tavoEmail>\nX-Mailer:PHP/".phpversion());
echo"<br>Taippat visa tavo informacija atkeliaus ir i tavo email dezute.";
?>
Taippat nieko įpatingo čia nerasite nebent tai jog po registracijos vartotojui bus automatiškai išsiūstas jūsų pranešimas į email'ą bei koduojamas slaptažodis po md5 koduote dėl trečiujų asmenų. Bei patikra ar nėra jau tokio niko kuris registruojamas ;)
jungtis.php failas:
<form name="login" method="post" action="jungtis_veiksmas.php">
<table border="0" width="225" align="center">
<tr>
<td width="219" bgcolor="#999999">
<p align="center"><font color="white"><span style="font-size:12pt;"><b>Prisijungimas</b></span></font></p>
</td>
</tr>
<tr>
<td width="219">
<table border="0" width="220" align="center">
<tr>
<td width="71"><span style="font-size:10pt;">Nikas:</span></td>
<td width="139"><input type="text" name="nikas"></td>
</tr>
<tr>
<td width="71"><span style="font-size:10pt;">Slaptazodis:</span></td>
<td width="139"><input type="password" name="slaptazodis"></td>
</tr>
<tr>
<td width="71"> </td>
<td width="139">
<p align="right"><input type="submit" name="submit" value="Prisijungti"></p>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="219" bgcolor="#999999"><font color="white">Dar ne narys?? </font><a href="registracija.php" target="_self"><font color="white">Registruotis</font></a><font color="white"> </font><b><i><font color="white">Dabar!</font></i></b></td>
</tr>
</table>
</form>
Taippat paprastutis failiukas prisijungimui, šioks toks table ir tiek :)
jungtis_veiksmas.php failas:
<?php
require 'branduolys.php';
// prisijungima dariau supaprastinta su sesijomis.
session_start();
$nikas = $_POST['nikas'];
$slaptazodis = md5($_POST['slaptazodis']);
$query = "SELECT * FROM nariai WHERE nikas='$nikas' AND slaptazodis='$slaptazodis'";
$result = mysql_query($query);
if(mysql_num_rows($result) !=1){
$klaida = "Prisijungimo duomenys yra blogi";
include"jungtis.php";
}else{
$_SESSION['nikas'] = "$nikas";
include"anketa.php";
}
?>
Prisijungimas darytas su sesijomis dėl mano laiko stokos tad apie "remember me" funkcija kolkas negalvokit :)
anketa.php failą galit susikurti pagal save nes jo turinys nėra labai svarbus. Beto pridedu jog jei norit kad puslapi matytu tik nariai tada naudokite
toki koduką.
<?
session_start();
if ( empty( $nikas ) ) {
print "Puslapis skirtas tik nariams tad prasome prisijungti";
include 'jungtis.php';
} else {
//sita dali matys tik registruoti nariai.
?>
branduolys.php failo turinys:
Dėkui už dėmėsi. Galite rašyti asmenine žinutę su normais skriptais ar jų pamokomis :)
Redagavo ramon· 2010 Rugs. 15 13:09:45