Regisztrációs űrlap PHP-vel, nem megy
Üdv!
Van egy HTML oldalam egy regisztrációs űrlappal, de valamiért nem működik.
A kód:
valamiért már az "if($_POST['submit']) {" utáni üzenetet sem jeleníti meg, és nem tudom miért... segítsetek please!
■ Van egy HTML oldalam egy regisztrációs űrlappal, de valamiért nem működik.
A kód:
<?php
function alert($message) {
echo "<script language='javascript' type='text/javascript'>\n alert('".$message."');\n </script>";
}
alert("teszt");
if($_POST['submit']) {
alert("elkezdődik az egész...");
$_POST['name'] = $name;
$_POST['pass'] = $pass;
$_POST['passvery'] = $passvery;
$_POST['email'] = $email;
$_POST['gender'] = $gender;
$_POST['location'] = $location;
$_POST['birthdate'] = $birthdate;
if($name != "" && $pass != "" && $passvery != "" && $email != "") {
alert("jelszó összevetés...");
if($pass != $passvery) {
alert("The two entered passwords do not match.");
exit;
}
alert("done");
alert("e-mail-check");
if(!strstr($email,'@') && !strstr($email,'.')) {
alert("The entered e-mail address is invalid!");
exit;
}
alert("done");
alert("dátumos vacak...");
if($birthdate == "" && !strstr($birthdate,".")) {
alert("The entered date is invalid!");
exit;
} else {
$youryear = substr($birthdate,6,9);
$cyear = date("Y");
$age = $cyear - $youryear;
if($age <= 6) {
alert("The entered birthdate is invalid!");
exit;
}
}
alert("done");
$rank = "Not set yet ^^";
alert("hozzáadás kezdődik....");
adduser($name,$email,$pass,$location,$age,$birthdate,$gender,$rank);
alert('User successfully added');
} else {
alert("valami hiányzik");
}
}
?>
<form action="<?=$PHP_SELF?>" method="post">
Username: <input name="name" type="text" class="commentinput" id="name" size="20" maxlength="20" /><br />
Password: <input name="pass" type="password" class="commentinput" id="pass" size="20" maxlength="20" /><br />
Verify password: <input name="passvery" type="password" class="commentinput" id="passvery" size="20" maxlength="20" /><br />
E-mail: <input name="email" type="text" class="commentinput" id="email" size="20" maxlength="20" /><br />
Gender:
<select name="gender" class="commentinput" id="gender">
<option selected="selected" value="nothing">Select your gender</option>
<option value="female">Female</option>
<option value="male">Male</option>
</select>
Location: <input name="location" type="text" class="commentinput" id="location" size="20" maxlength="20" /><br />
Birthdate: <input name="title" type="text" class="commentinput" id="title" size="20" maxlength="20" /><br />
<input name="submit" type="submit" id="submit" value="Submit" class="commentinput" />
</form>
function alert($message) {
echo "<script language='javascript' type='text/javascript'>\n alert('".$message."');\n </script>";
}
alert("teszt");
if($_POST['submit']) {
alert("elkezdődik az egész...");
$_POST['name'] = $name;
$_POST['pass'] = $pass;
$_POST['passvery'] = $passvery;
$_POST['email'] = $email;
$_POST['gender'] = $gender;
$_POST['location'] = $location;
$_POST['birthdate'] = $birthdate;
if($name != "" && $pass != "" && $passvery != "" && $email != "") {
alert("jelszó összevetés...");
if($pass != $passvery) {
alert("The two entered passwords do not match.");
exit;
}
alert("done");
alert("e-mail-check");
if(!strstr($email,'@') && !strstr($email,'.')) {
alert("The entered e-mail address is invalid!");
exit;
}
alert("done");
alert("dátumos vacak...");
if($birthdate == "" && !strstr($birthdate,".")) {
alert("The entered date is invalid!");
exit;
} else {
$youryear = substr($birthdate,6,9);
$cyear = date("Y");
$age = $cyear - $youryear;
if($age <= 6) {
alert("The entered birthdate is invalid!");
exit;
}
}
alert("done");
$rank = "Not set yet ^^";
alert("hozzáadás kezdődik....");
adduser($name,$email,$pass,$location,$age,$birthdate,$gender,$rank);
alert('User successfully added');
} else {
alert("valami hiányzik");
}
}
?>
<form action="<?=$PHP_SELF?>" method="post">
Username: <input name="name" type="text" class="commentinput" id="name" size="20" maxlength="20" /><br />
Password: <input name="pass" type="password" class="commentinput" id="pass" size="20" maxlength="20" /><br />
Verify password: <input name="passvery" type="password" class="commentinput" id="passvery" size="20" maxlength="20" /><br />
E-mail: <input name="email" type="text" class="commentinput" id="email" size="20" maxlength="20" /><br />
Gender:
<select name="gender" class="commentinput" id="gender">
<option selected="selected" value="nothing">Select your gender</option>
<option value="female">Female</option>
<option value="male">Male</option>
</select>
Location: <input name="location" type="text" class="commentinput" id="location" size="20" maxlength="20" /><br />
Birthdate: <input name="title" type="text" class="commentinput" id="title" size="20" maxlength="20" /><br />
<input name="submit" type="submit" id="submit" value="Submit" class="commentinput" />
</form>
valamiért már az "if($_POST['submit']) {" utáni üzenetet sem jeleníti meg, és nem tudom miért... segítsetek please!
alert()?
direkt van...
Ne legyen direk.
Szerintem fölösleges az alert függvényed. Javaslom haszználd helyette a die() függvényt, a www.php.net -en van a leírása. Vagy (inkább) használhatod a már javasolt print -et és echo -ot.
Esetleg érdemes kiprobálni ezt:
?
Gyulus
amúgy...
kísértenek engem ezek a formok, valaki segítsen!
Ez benne a baromság
$_POST['pass'] = $pass;
$_POST['passvery'] = $passvery;
$_POST['email'] = $email;
$_POST['gender'] = $gender;
$_POST['location'] = $location;
$_POST['birthdate'] = $birthdate;
Ez a kódrészlet a POST-olt adataidat felülírja nem létező változók értékeivel, tehát elvesznek az adataid.
Helyesen, vagyis fordítva:
stb.
De még helyesebb:
Gyulus
kösz
alert("The entered date is invalid!");
exit;
}
de itt valamiért ez teljesül.. gondolom az strstr-rel van gond, de sajnos jobbat nem találtam a . karakter létezésének ellenőrzésére
allasajanlat
Fú de rosszmájú vagyok...
dehogy...
php.ini
Ennek esélye lecsökkenthető ha a php.ini -ben
error_reporting = E_ALL
és
register_globals = off
mert ilyenkor kapsz egy hibajelzést hogy nem létező változóból akarsz értéket kiolvasni.
$_POST['name'] = $name;
A register_globals kikapcsolása pedig azért kell hogy tényleg ne létezzenek a Form elemekhez tartozó változók, csak a $_POST vagy $_GET.