Witam,
Mam 3 pliki:
register.php:
<form action="process.php" method="POST"> <table align="left" border="0" cellspacing="0" cellpadding="3"> <tr><td>Username:
</td><td><input type="text" name="user" maxlength="30" value="<? echo $form->value("user"); ?>">
</td><td><? echo $form->error("user"); ?>
</td></tr> <tr><td>Password:
</td><td><input type="password" name="pass" maxlength="30" value="<? echo $form->value("pass"); ?>">
</td><td><? echo $form->error("pass"); ?>
</td></tr> <tr><td>Email:
</td><td><input type="text" name="email" maxlength="50" value="<? echo $form->value("email"); ?>">
</td><td><? echo $form->error("email"); ?>
</td></tr> <tr><td>MoneyBookers:
</td><td><input type="text" name="mb" maxlength="50" value="<? echo $form->value("mb"); ?>">
</td><td><? echo $form->error("mb"); ?>
</td></tr> <tr><td>Egold:
</td><td><input type="text" name="egold" maxlength="50" value="<? echo $form->value("egold"); ?>">
</td><td><? echo $form->error("egold"); ?>
</td></tr> <tr><td colspan="2" align="right"> <input type="hidden" name="subjoin" value="1"> <input type="submit" value="Join!"></td></tr> <tr><td colspan="2" align="left"><a href="main.php">Back to Main
</a></td></tr>
session.php:
<?php
function register($subuser, $subpass, $subemail){
global $database, $form, $mailer; //The database, form and mailer object
/* Username error checking */
$field = \"user\"; //Use field name for username
if(!$subuser || strlen($subuser = trim($subuser)) == 0
){ $form->setError($field, \"* Username not entered\");
}
else{
/* Spruce up username, check length */
$form->setError($field, \"* Username below 5 characters\");
}
else if(strlen($subuser) > 30
){ $form->setError($field, \"* Username above 30 characters\");
}
/* Check if username is not alphanumeric */
else if(!eregi(\"^([0-9a-z])+$\", $subuser)){ $form->setError($field, \"* Username not alphanumeric\");
}
/* Check if username is reserved */
$form->setError($field, \"* Username reserved word\");
}
/* Check if username is already in use */
else if($database->usernameTaken($subuser)){
$form->setError($field, \"* Username already in use\");
}
/* Check if username is banned */
else if($database->usernameBanned($subuser)){
$form->setError($field, \"* Username banned\");
}
}
/* Password error checking */
$field = \"pass\"; //Use field name for password
if(!$subpass){
$form->setError($field, \"* Password not entered\");
}
else{
/* Spruce up password and check length*/
$form->setError($field, \"* Password too short\");
}
/* Check if password is not alphanumeric */
else if(!eregi(\"^([0-9a-z])+$\", ($subpass = trim($subpass)))){ $form->setError($field, \"* Password not alphanumeric\");
}
/**
* Note: I trimmed the password only after I checked the length
* because if you fill the password field up with spaces
* it looks like a lot more characters than 4, so it looks
* kind of stupid to report \"password too short\".
*/
}
/* Email error checking */
$field = \"email\"; //Use field name for email
if(!$subemail || strlen($subemail = trim($subemail)) == 0
){ $form->setError($field, \"* Email not entered\");
}
else{
/* Check if valid email address */
$regex = \"^[_+a-z0-9-]+(.[_+a-z0-9-]+)*\"
.\"@[a-z0-9-]+(.[a-z0-9-]{1,})*\"
.\".([a-z]{2,}){1}$\";
if(!eregi($regex,$subemail)){ $form->setError($field, \"* Email invalid\");
}
}
$field = \"egold\";
if(!$subegold){
$form->setError($field, \"* egold not entered\");
}
$field = \"mb\"; //Use field name for password
if(!$submb){
$form->setError($field, \"* mb not entered\");
}
/* Errors exist, have user correct them */
if($form->num_errors > 0){
return 1; //Errors with form
}
/* No errors, add the new account to the */
else{
if($database->addNewUser($subuser, md5($subpass), $subemail)){ if(EMAIL_WELCOME){
$mailer->sendWelcome($subuser,$subemail,$subpass);
}
return 0; //New user added succesfully
}else{
return 2; //Registration attempt failed
}
}
}
?>
process.php:
<?php
function procRegister(){
/* Convert username to all lowercase (by option) */
if(ALL_LOWERCASE){
}
/* Registration attempt */
$retval = $session->register($_POST['user'], $_POST['pass'], $_POST['email']);
/* Registration Successful */
if($retval == 0){
$_SESSION['reguname'] = $_POST['user'];
$_SESSION['regsuccess'] = true;
header(\"Location: \".$session->referrer); }
/* Error found with form */
else if($retval == 1){
$_SESSION['value_array'] = $_POST;
$_SESSION['error_array'] = $form->getErrorArray();
header(\"Location: \".$session->referrer); }
/* Registration attempt failed */
else if($retval == 2){
$_SESSION['reguname'] = $_POST['user'];
$_SESSION['regsuccess'] = false;
header(\"Location: \".$session->referrer); }
}
?>
Oto moj błąd:Nawet, gdy wpisze pole "mb" i "egold" pojawia sie, ze nie wpisalem tych danych....Jak to naprawić? Prosze też, żeby ktoś jak będzie poprawiał, odrazu zrobił, że trzeba albo pole mb wypełnić albo pole egold.
Odwdzięcze się :-)
Ten post edytował MarcinJarek 28.11.2004, 10:34:08