Temos pavadinimas: WordPress, Shopify ir PHPFusion programuotojų bendruomenė :: Dėl registracijos
Parašė SonyNokia· 2014 Kov. 27 18:03:45
#1
Sveiki!
Taigi ir vėl aš išdygau .
Dariau žinoma nuo YouTube, bet meta error'ų.
Norėjau paklausti dėl registracijos kodo..
<?php
// tikrinama ar ivygdyta forma
if(isset ($_POST['username']))
{
// kintamieji
$user = $_POST['username'];
$pass = $_POST['password'];
$pass2 = $_POST['password2'];
// tikrinimas ar nėra tuščių laukų
if($user<>"" AND $pass<>"" AND $pass2<>"")
{
// tikrinam ar vienodi slaptažodžiai
if($pass==$pass2)
{
if(strlen($pass)>=4
{
$con = mysql_connect("localhost", "root", "");
if(!$con)
{
die("could not connect:'".mysql_error());
}
mysql_select_db("text", $con);
$pass = md5($pass);
if(mysql_num_rows(mysql_query("select * from users where username = '$user'")))
{
echo "Vartotojas užimtas";
}else {
mysql_query("insert into users (uid, username, password) VALUES ( '', '$user', '$pass')");
echo "Sėkmingai užsiregistravote.";
}
}else {
echo "Slaptažodis per trumpas ";
}
}else {
echo "Slaptažodis nesutampa";
}
}else{
echo "Ne visi laukai užpildyti";
}
}
?>
<form method='POST'>
Username <input type='text' name='username'><br />
Password <input type='password' name='password'><br />
Passwordx2 <input type='password' name='password2'><br />
<br />
<input type='submit' value='Register'>
</form>
Ir dar norėjau paklausti dėl
MYSQL, tai reiks pačiam susikurti tą test aplankalą ir viską padaryt, ar čia viskas automatiškai pasidarys ?
Dėkui iš anksto už pagalbą!;)
Parašė Pakartoti slaptažodį· 2014 Kov. 27 19:03:40
#2
labas, kaip matau tu nelabai įsiminei ką tau sakėm ankstesnėse temose ;)
kas čia per n*? nuo kada
php if tikrinimuose įsipina sql kalba?
if($user<>"" AND $pass<>"" AND $pass2<>"")
turi būti
if(empty($user) || empty($pass) || empty($pass2))
tačiau uždavęs patikrinimą jį iškart ir užbaik, o tai dabar tavo šitas pirmas ifas tęęęsias toli toli.
//// žodžiu klaidų begalo daug, čia pagalba nebent tokia kad viską trint ir per naują daryt nes kartais nervas jau ima tą patį ir tą patį taisyt :D ką konkrečiai nori padaryti?
Parašė SonyNokia· 2014 Kov. 27 19:03:56
#3
Norėjau tiesiog, kad veiktų registracija ir tiek. Nu čia informatikos mokytoja paprašė, kad padaryčiau, ji nori pažiūrėt kaip moku tokius dalykus kurti, tai bandžiau iš YouTube, bet , kad nelabai moku ir turiu laiko šiuo metu sėdėti prie tokių dalykų, nes kalbėjimo egzaminas artėja, tai tenka mokintis ..
Parašė Pakartoti slaptažodį· 2014 Kov. 27 20:03:25
#4
čia elementariausia forma, esi dirbęs ir su sunkesniais dalykais, štai, pasinagrinėk:
<?php
tikrinam ar gautas submit mygtukas (ar jis nuspaustas)
if (isset ($_POST['submit'])) {
$user = $_POST['username'];
$pass = $_POST['password'];
$pass2 = $_POST['password2'];
tikrinimas ar kintamasis tuščias ir IŠKART rodom klaidą
if (empty($user) || empty($pass) || empty($pass2)) die('Yra neužpildytų laukų.');
tikrinimas ar du kintamieji yra lygūs, jei ne, rodom klaidą
if ($pass != $pass2) die('Slaptažodžiai nesutampa.');
jei slaptikas trumpesnis už 4 simbolius...
if (strlen($pass) < 4) die('Slaptažodis turi būti ilgesnis nei trys simboliai.');
geriau naudok tokį prisijungimo prie db būdą, jis žymiai saugesnis ir paprastesnis
$con = mysqli_connect('localhost', 'root', '', 'text');
tikrinam ar yra toks vartotojas užregistruotas. atkreipk dėmesį kad su mysqli prie užklausos reikia nurodyti ir prisijungimo kintamąjį. vietoj visų laukelių (*) selectinkim tik tą, kurį realiai naudosim (username), taip greičiau. na ir žinoma pamiršai apibrėžti kad mes tikimės nulinio rezultato (tokio vartotojo nėra), tačiau jei rezultatas kažkoks kitas, rodom klaidą
if (mysqli_num_rows(mysqli_query($con, "select username from users where username = '".$user."'")) != 0) {
die('Vartotojas užimtas');
} else {
truputį pakoregavau insert užklausą, ir atkreipk dėmesį jog tik dabaar užkoduojam slaptažodį, nes iki čia daėjom, tik dabar to reikia..
mysqli_query($con, "insert into users (uid, username, password) select '', '".$user."', '".md5($pass)."');
die('Sėkmingai užsiregistravote.');
}
}
?>
post mažosiom raidėm būtų gerai
turi būti dvigubos kabutės nes čia html
<form method="post">
viengubus input tagus reikia uždaryt />
Username <input type="text" name="username" /><br />
Password <input type="password" name="password" /><br />
Passwordx2 <input type="password" name="password2"><br />
<br />
submit mygtukui turim sukurt pavadinimą kad vėliau jį priimt per php (isset)
<input type="submit" name="submit" value="Register">
</form>
Redagavo Pakartoti slaptažodį· 2014 Kov. 27 23:03:07
Parašė SonyNokia· 2014 Kov. 27 22:03:06
#5
Pakartoti slaptažodį, dėkoju Tau už sugaišta laiką, ir visus paaiškinimus, gali būti, kad esu dirbęs ir su sunkesniais, bet tiesiog kai netobulėjau toliau, o gal ir yra čia klaida.. kad noriu daug , o išeina vistiek ant minimal... Čia manau ir yra klaida mano , reiktų su mažai testuotis ir visa kita, o tada eiti prie kitų naujovių..