begin process at 2010 03 21 15:54:53
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Divers

 > 

Mon script d'inscription plante


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Mon script d'inscription plante

jeudi 20 décembre 2007 à 18:01:46 | Mon script d'inscription plante

Joe0557

Membre Club
Bonjour, j'ai fais un script d'inscription mais malheureusement il plante. Il m'affiche toujours :

Une ou plusieurs erreurs se sont produites pendant l'incription
3 erreur(s)

Je ne sais pas pourquoi, pourriez vous m'aider, voici mon code :

<?php
//Cette fonction doit être appelée avant tout code html
session_start();
 
if(isset($_POST['pseudo']) && isset($_POST['confirm']) && isset($_POST['email']) && isset($_POST['password']))
{
 
include("includes/conf.php.inc");
mysql_connect($adresse, $nom, $motdepasse);
mysql_select_db($database);
 
$i = 0;
 
//Vérification du pseudo
$nombrepseudo = mysql_result(mysql_query("SELECT COUNT(*) FROM forum_membres WHERE membre_pseudo = '".$_POST['pseudo']."'"), 0);
if($nombrepseudo != 0)
{
        $pseudo_erreur1 = "Votre pseudo est déjà utilisé par un membre";
        $i++;
}
if(strlen($_POST['pseudo']) < 3 || strlen($_POST['pseudo']) > 15)
{
        $pseudo_erreur2 = "Votre pseudo est soit trop grand, soit trop petit";
        $i++;
}
//Vérification du mdp
if($_POST['password'] != $_POST['confirm'] || empty($_POST['confirm']) || empty($_POST['password']))
{
        $mdp_erreur = "Votre mot de passe et votre confirmation diffèrent, ou sont vides";
        $i++;
}
 
//Vérification de l'adresse email
 
//Il faut que l'adresse email n'ait jamais été utilisée
 
$nombremail = mysql_result(mysql_query("SELECT COUNT(*) FROM forum_membres WHERE membre_email = '".$_POST['email']."'"), 0);
 
if($nombremail!= 0)
{
        $email_erreur1 = "Votre adresse email est déjà utilisée par un membre";
        $i++;
}
//On vérifie la forme maintenant
if(!preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $_POST['email']) || empty($_POST['email']))
{
        $email_erreur2 = "Votre adresse E-Mail n'a pas un format valide";
        $i++;
}
//Vérification de l'adresse MSN
if(!preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $_POST['msn']) && !empty($_POST['msn']))
{
        $msn_erreur = "Votre adresse MSN n'a pas un format valide";
        $i++;
}
//Vérification de la signature
if(strlen($_POST['signature']) > 200)
{
        $signature_erreur = "Votre signature est trop longue";
        $i++;
}
 
//Vérification de l'avatar :
if(!empty($_FILES['avatar']['size']))
{
        //On définit les variables :
        $maxsize = 10024; //Poid de l'image
        $maxwidth = 100; //Largeur de l'image
        $maxheight = 100; //Longueur de l'image
        $extensions_valides = array('jpg' , 'jpeg' , 'gif' , 'png', 'bmp'); //Liste des extensions valides
       
        if($_FILES['avatar']['error'] > 0)
        {
                $avatar_erreur = "Erreur lors du tranfsert de l'avatar : ";
        }
        if($_FILES['avatar']['size'] > $maxsize)
        {
                $i++;
                $avatar_erreur1 = "Le fichier est trop gros : (<strong>".$_FILES['avatar']['size']." Octets</strong>    contre <strong>".$maxsize." Octets</strong>)";
        }
 
        $image_sizes = getimagesize($_FILES['avatar']['tmp_name']);
        if($image_sizes[0] > $maxwidth OR $image_sizes[1] > $maxheight)
        {
                $i++;
                $avatar_erreur2 = "Image trop large ou trop longue : (<strong>".$image_sizes[0]."x".$image_sizes[1]."</strong> contre <strong>".$maxwidth."x".$maxheight."</strong>)";
        }
       
        $extension_upload = strtolower(substr(  strrchr($_FILES['avatar']['name'], '.')  ,1));
        if(!in_array($extension_upload,$extensions_valides))
        {
                $i++;
                $avatar_erreur3 = "Extension de l'avatar incorrecte";
        }
}
mysql_close();
}
 
//On donne ensuite un titre à la page, puis on appelle notre fichier debut.php
$titre = "Inscription";
include("includes/debut.php.inc");
?>
 
<body>
 
<!-- Bannière -->
<?phpinclude'includes/banniere.php.inc';?>
 
<!-- Hotbar -->
<?phpinclude'includes/hotbar.php.inc';?>
</br>
 
<!-- Menu & Hotbar -->
<?phpinclude'includes/menu.php.inc';?>
 
<!-- Fil d'Arianne-->
 
<div id="corps">
<?phpinclude'includes/fildariane.php.inc';?>
 
 
 
<?php
//On évite qu'un membre déjà connecté se retrouve ici !
if(isset($_SESSION['pseudo']))
{
exit("<p>Désolé mais vous ne pouvez pas accéder à cette page</p>");
}
?>
 
<h1>Inscription</h1>
 
 
<fieldset>
<?php
if($i == 0)// Si i est vide, il n'y a pas d'erreur
{
 
        echo'<h1>Inscription terminée</h1>';
        echo'<p>Bienvenue '.$_POST['pseudo'].' vous êtes maintenant inscrit sur le forum</p>';
        echo'<p>Cliquez <a href="./index.php">ici</a> pour revenir à la page d accueil</p>';
 
        if(isset($_FILES['avatar']['size']))
        {
                //On déplace l'avatar
                $avatar = time();
                $nomavatar = str_replace(' ','',$avatar).".".$extension_upload;
                $avatar = "./images/avatars/".str_replace(' ','',$avatar).".".$extension_upload;
                move_uploaded_file($_FILES['avatar']['tmp_name'],$avatar);
        }
       
        //On vérifie que les champs ne continennent pas de html
        //Puis on crypte le mot de passe
        $temps = time();
        $signature = htmlspecialchars($_POST['signature'], ENT_QUOTES);
        $signature = nl2br($signature);
        $pseudo = htmlspecialchars($_POST['pseudo'], ENT_QUOTES);
        $email = htmlspecialchars($_POST['email'], ENT_QUOTES);
        $msn = htmlspecialchars($_POST['msn'], ENT_QUOTES);
        $website = htmlspecialchars($_POST['website'], ENT_QUOTES);
        $localisation = htmlspecialchars($_POST['localisation'], ENT_QUOTES);
        $pass = md5($_POST['password']);
       
        //On balance le tout dans notre table
        mysql_query("
       INSERT INTO forum_membres (membre_pseudo, membre_mdp, membre_email,            
       membre_msn, membre_siteweb, membre_avatar,
       membre_signature, membre_localisation, membre_inscrit,  
       membre_derniere_visite)
       VALUES ('".$pseudo."' , '".$pass."' , '".$email."' ,
       '".$msn."' , '".$website."' , '".$nomavatar."' ,
       '".$signature."' , '".$localisation."' ,  '".$temps."' ,
       '".$temps."' ) ");
       
       
        //Et on définit les variables de sessions
        $_SESSION['pseudo'] = $pseudo;
        $_SESSION['id'] = mysql_insert_id();
        $_SESSION['level'] = 1;
}
else
{
        echo'<font color="#FF0000"><center><p>Une ou plusieurs erreurs se sont produites pendant l\'incription</p></center></font>';
        echo'<font color="#FF0000"><center><p>'.$i.' erreur(s)</p></center></font>';
        echo'<font color="#FF0000"><center><p>'.$pseudo_erreur1.'</p></center></font>';
        echo'<font color="#FF0000"><center><p>'.$pseudo_erreur2.'</p></center></font>';
        echo'<font color="#FF0000"><center><p>'.$mdp_erreur.'</p></center></font>';
        echo'<font color="#FF0000"><center><p>'.$email_erreur1.'</p></center></font>';
        echo'<font color="#FF0000"><center><p>'.$email_erreur2.'</p></center></font>';
        echo'<font color="#FF0000"><center><p>'.$msn_erreur.'</p></center></font>';
        echo'<font color="#FF0000"><center><p>'.$signature_erreur.'</p></center></font>';
        echo'<font color="#FF0000"><center><p>'.$avatar_erreur.'</p></center></font>';
        echo'<font color="#FF0000"><center><p>'.$avatar_erreur1.'</p></center></font>';
        echo'<font color="#FF0000"><center><p>'.$avatar_erreur2.'</p></center></font>';
        echo'<font color="#FF0000"><center><p>'.$avatar_erreur3.'</p></center></font>';
}
?>
<form method="post" action="register.php" enctype="multipart/form-data">
<fieldset><legend>Identifiants</legend>
<label for="pseudo">Pseudo <font color="#FF0000">*</font>:</label>  <input name="pseudo" type="text" id="pseudo"/> (le pseudo doit contenir entre 3 et 15 caractères)<br />
<label for="password">Mot de Passe <font color="#FF0000">*</font>:</label><input type="password" name="password" id="password" /><br />
<label for="confirm">Confirmer le mot de passe <font color="#FF0000">*</font>:</label><input type="password" name="confirm" id="confirm" />
</fieldset>
 
<fieldset><legend>Contacts</legend>
<label for="email">Votre adresse E-Mail <font color="#FF0000">*</font>:</label><input type="text" name="email" id="email" /><br />
<label for="msn">Votre adresse MSN :</label><input type="text" name="msn" id="msn" /><br />
<label for="website">Votre site web :</label><input type="text" name="website" id="website" />
</fieldset>
 
<fieldset><legend>Informations supplémentaires</legend>
<label for="localisation">Localisation :</label><input type="text" name="localisation" id="localisation" />
</fieldset>
 
<fieldset><legend>Profil sur le forum</legend>
<label for="avatar">Choisissez votre avatar :</label><input type="file" name="avatar" id="avatar" />(Taille max : 10 ko)<br />
<label for="signature">Signature :</label><textarea cols="40" rows="4" name="signature" id="signature">La signature est limitée à 200 caractères</textarea>
</fieldset>
 
<p>Les champs suivis d'un * sont obligatoires.</p>
<p><input type="submit" name="inscription" value="S'inscrire" /></p>
</fieldset>
</form>
</h2>
</div>
 
<!-- Le pied de page -->
<?phpinclude'includes/footer.php.inc';?>
</body>
</html>

Merci



Cette discussion est classée dans : email, post, pseudo, echo, avatar


Répondre à ce message

Sujets en rapport avec ce message

probleme avec mes sessions! [ par drmatox ] bonjour a vous, je suis trankillement installer dans mon fauteuil et je commence mon script de session, bon bien sur c'est pas simple mais on a connu Mail : HTML ; SPAM... [ par xeroxiss ] Hello tout le monde !Dans un post précédent je demandais comment faire pour qu'un formulaire de contact php ne sois pas interpreter comme un spam...Ce Problème simple ! (débutant) [ par robapt ] Donc voila, je débute en php, j'ai un code que j'aimerai bien modifier et cela fais plusieur heure (vraiment ! ) que je cherche mais je ne trouve pas Petit problème pour un formulaire ! [ par robapt ] Bonjour à tous ! Grace à l'aide de JulSoft, mon petit formulaire à bien avancé! En gros, il consiste à enregistrer son contenu dans un fichier php (pr envoie de donnees d un formulaire par mail [ par artemiscel ] Bonjour,je debute en php, j'ai essaye de faire une page permettant aux visiteurs d'envoyer un mail avec toutes les informations qu il doit faire parve Afficher un message d'erreur avant retour formulaire [ par patric31 ] Bonjour à toutes et à tous,Je suis tout nouveau et chez vous et chez M. et Mme PHP et leur petit SQL.J'ai créer un formulaire de saisie tout simple :  vérification tres strict d'un formulaire [ par piteur30 ] bonjour voici mon formulaire dajout de membre : a{ text-decoration:none; } <br& probleme formuliare [ par jinin ] Bonjours à Tous, j'ai fait un script php pour un formulaire d'inscription dans dans ma base données avec envoie d'email <div align="center" style="w récupération de variable. ca marche sauf pour une [ par scoder ] bonjour, je suis dans un cas de figure assez particulier puisque j'ai un formulaire dont je récupère les variables, jusque là ok. Là où ça cloche c'es multiple insertion dans mysql via un formulaire php [ par wizard512 ] je suis entrain d'éllaborer un script qui permet de multiple insertion dans mysql via un formulaire php.. mais je bloque pour la dernière étapes, quel


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,343 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales