2010-08-27 5 views
0

Je suis en train de créer un formulaire d'inscription utilisateur simple. J'ai un fichier index.html et un fichier register.php. Lorsque je clique sur le bouton "soumettre", il va à la page register.php, mais rien ne se passe. Il n'y a pas d'erreur ou quoi que ce soit. J'ai quelques echo déclarations dans register.php mais ils ne fonctionnent pas non plus.en utilisant le fichier php externe sous forme html

Voici le code pour index.html:

<form action="register.php" method="post"> 
<table width="384" border="1" align="center"> 
<? echo '<tr><td colspan="2">'.$final_report.'</td></tr>';?> 
<tr> 
<td width="50%">Username:</td> 
<td width="50%"><label> 
    <input name="username" type="text" id="username" size="30" /> 
</label></td> 
</tr> 
<tr> 
    <td>Password:</td> 
    <td><input name="password" type="password" id="password" value="" size="30" /></td> 
</tr> 
<tr> 
    <td>Email:</td> 
    <td><input name="email" type="text" id="email" size="30" /></td> 
</tr> 
<tr> 
    <td>&nbsp;</td> 
    <td><label> 
    <input name="register" type="submit" id="register" value="Register" /> 
    </label></td> 
</tr> 
    </table> 
    </form>  

Ce code est register.php:

<? 
include_once"config.php"; 
if(isset($_POST['register'])){ 
$username = $_POST['username']; 
$password = $_POST['password']; 
$email = $_POST['email']; 
$memip = $_SERVER['REMOTE_ADDR']; 
$date = date("d-m-Y"); 
if($username == NULL OR $password == NULL OR $email == NULL){ 
$final_report.= "Please complete the form below.."; 
}else{ 
if(strlen($username) <= 3 || strlen($username) >= 30){ 
$final_report.="Your username must be between 3 and 30 characters.."; 
}else{ 
$check_members = mysql_query("SELECT * FROM `members` WHERE `username` = '$username'"); 
if(mysql_num_rows($check_members) != 0){ 
$final_report.="The username is already in use!"; 
}else{ 
if(strlen($password) <= 6 || strlen($password) >= 12){ 
$final_report.="Your password must be between 6 and 12 digits and characters.."; 
}else{ 
if(!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$",   $email)){ 
$final_report.="Your email address was not valid.."; 
}else{ 
$create_member = mysql_query("INSERT INTO `members` (`id`,`username`, `password`,`email`, `ip`, `date`) 
VALUES('','$username','$password','$email','$memip','$date')"); 
$final_report.="Thank you for registering, you may login."; 
}}}}}} 
?> 

Quelqu'un peut-il voir l'erreur?

Répondre

0
include_once"config.php" 

Vous semblez manquer un espace. Soit le faire include_once "config.php" (notez l'espace entre) ou include_once("config.php").

Vous avez également défini $final_report dans register.php mais je ne vois pas où vous imprimez réellement quoi que ce soit. Je vois que vous essayez d'imprimer $final_report dans index.php. Cela ne fonctionnera pas comme prévu sauf si vous incluez le code register.php directement dans index.html. Pourquoi n'avez-vous pas un seul fichier register.php avec le script d'enregistrement et le code HTML?

+0

J'ai fait ma page principale en tant qu'index.html puis j'inclus dans le formulaire pour l'enregistrement.Si j'inclus également le script php dans le fichier index.html alors je devrais le changer en index.php. J'ai plusieurs pages dans une relation avec index.html – Ercan

+0

Vous utilisez déjà le code PHP ('') Dans index.html. Si cela fonctionne, alors vous ne devriez pas avoir de problème à ajouter plus de code là-bas. (De nombreux serveurs web analyseront les fichiers HTML en PHP par défaut.) – casablanca

Questions connexes