faceworld
Messages postés13Date d'inscriptionmardi 25 juin 2013StatutMembreDernière intervention21 septembre 2013
-
12 juil. 2013 à 17:19
Thorak83
Messages postés1051Date d'inscriptionjeudi 20 juin 2013StatutMembreDernière intervention22 décembre 2017
-
12 juil. 2013 à 18:20
Bonjour,
j'ai un petit problème en php sa me dit Undefined variable: pseudo_erreur1 et email_erreur1 ....
<?php
session_start();
$titre="Enregistrement";
include("includes/identifiants.php");
include("includes/debut.php");
include("includes/menu.php");
echo '<p><i>Vous êtes ici</i> : <a href="./index.php">Index du forum</a> --> Enregistrement';
if ($id!=0) erreur(ERR_IS_CO);
?>
<?php
// if (empty($_POST['pseudo'])) // Si on la variable est vide, on peut considérer qu'on est sur la page de formulaire
if(!isset($_POST['pseudo']))
{
echo '<h1>Inscription 1/2</h1>';
echo '<form method="post" action="register.php"
enctype="multipart/form-data">
<fieldset><legend>Identifiants</legend>
<label for="pseudo">* Pseudo :</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 :</label><input type="password"
name="password" id="password" /><br />
<label for="confirm">* Confirmer le mot de passe :</label><input
type="password" name="confirm" id="confirm" />
</fieldset>
<fieldset><legend>Contacts</legend>
<label for="email">* Votre adresse Mail :</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 : 10Ko<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 précédés d un * sont obligatoires</p>
<p><input type="submit" value="S\'inscrire" /></p></form>
</div>
</body>
</html>';
}
//On récupère les variables
$i = 0;
$temps = time();
$pseudo = isset($_POST['pseudo']) && is_string($_POST['pseudo']) ? trim(htmlentities($_POST['pseudo'])) : $error[] = false;
$signature = isset($_POST['signature']) && is_string($_POST['signature']) ? htmlentities($_POST['signature']) : $error[] = false;
$email = isset($_POST['email']) && is_string($_POST['email']) ? trim(htmlentities($_POST['email'])) : $error[] = false;
$msn = isset($_POST['msn']) && is_string($_POST['msn']) ? trim(htmlentities($_POST['msn'])) : $error[] = false;
$website = isset($_POST['website']) && is_string($_POST['website']) ? htmlentities($_POST['website']) : $error[] = false;
$localisation = isset($_POST['localisation']) && is_string($_POST['localisation']) ? trim(htmlentities($_POST['localisation'])) : $error[] = false;
$pass = isset($_POST['password']) && is_string($_POST['password']) ? trim(htmlentities($_POST['password'])) : $error[] = false;
$confirm = isset($_POST['confirm']) && is_string($_POST['confirm']) ? trim(htmlentities($_POST['confirm'])) : $error[] = false;
//Vérification du pseudo
$query = $db->prepare('SELECT COUNT(*) AS nbr FROM forum_membres WHERE membre_pseudo =:pseudo');
$query->bindValue(':pseudo',$pseudo, PDO::PARAM_STR);
$query->execute();
$pseudo_free=($query->fetchColumn()==0)?1:0;
$query->CloseCursor();
if(!$pseudo_free)
{
$pseudo_erreur1 = "Votre pseudo est déjà utilisé par un membre";
$i++;
}
if (strlen($pseudo) < 3 || strlen($pseudo) > 15)
{
$pseudo_erreur2 = "Votre pseudo est soit trop grand, soit trop petit";
$i++;
}
//Vérification du mdp
if ($pass != $confirm || empty($confirm) || empty($pass))
{
$mdp_erreur = "Votre mot de passe et votre confirmation diffèrent, ou sont vides";
$i++;
}
?>
<?php
$query=$db->prepare('SELECT COUNT(*) AS nbr FROM forum_membres WHERE membre_pseudo =:pseudo');
$query->bindValue(':pseudo',$pseudo, PDO::PARAM_STR);
$query->execute();
$pseudo_free=($query->fetchColumn()==0)?1:0;
?>
<?php
//Vérification de l'adresse email
//Il faut que l'adresse email n'ait jamais été utilisée
$query=$db->prepare('SELECT COUNT(*) AS nbr FROM forum_membres WHERE membre_email =:mail');
$query->bindValue(':mail',$email, PDO::PARAM_STR);
$query->execute();
$mail_free=($query->fetchColumn()==0)?1:0;
$query->CloseCursor();
if(!$mail_free)
{
$email_erreur1 = "Votre adresse email est déjà utilisée par un membre";
$i++;
}
//On vérifie la forme maintenant
if (!preg_match("#^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-z]{2,4}$#", $email) || empty($email))
{
$email_erreur2 = "Votre adresse E-Mail n'a pas un format valide";
$i++;
}
//Vérification de l'adresse MSN
if (!preg_match("#^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-z]{2,4}$#", $msn) && !empty($msn))
{
$msn_erreur = "Votre adresse MSN n'a pas un format valide";
$i++;
}
//Vérification de la signature
if (strlen($signature) > 200)
{
$signature_erreur = "Votre signature est trop longue";
$i++;
}
?>
<?php
//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 transfert 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";
}
?>
<?php
if ($i==0)
{
echo'<h1>Inscription terminée</h1>';
echo'<p>Bienvenue '.stripslashes(htmlspecialchars($_POST['pseudo'])).'
vous êtes maintenant inscrit sur le forum</p>
<p>Cliquez <a href="./index.php">ici</a> pour revenir à la page d accueil</p>';
//La ligne suivante sera commentée plus bas
$nomavatar=(!empty($_FILES['avatar']['size']))?move_avatar($_FILES['avatar']):'';
$query=$db->prepare('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)');
$query->bindValue(':pseudo', $pseudo, PDO::PARAM_STR);
$query->bindValue(':pass', $pass, PDO::PARAM_INT);
$query->bindValue(':email', $email, PDO::PARAM_STR);
$query->bindValue(':msn', $msn, PDO::PARAM_STR);
$query->bindValue(':website', $website, PDO::PARAM_STR);
$query->bindValue(':nomavatar', $nomavatar, PDO::PARAM_STR);
$query->bindValue(':signature', $signature, PDO::PARAM_STR);
$query->bindValue(':localisation', $localisation, PDO::PARAM_STR);
$query->bindValue(':temps', $temps, PDO::PARAM_INT);
$query->execute();
//Et on définit les variables de sessions
$_SESSION['pseudo'] = $pseudo;
$_SESSION['id'] = $db->lastInsertId(); ;
$_SESSION['level'] = 2;
$query->CloseCursor();
}
else
{
echo'<h1>Inscription interrompue</h1>';
echo'<p>Une ou plusieurs erreurs se sont produites pendant l\'incription</p>';
echo'<p>'.$i.' erreur(s)</p>';
echo'<p>'.$pseudo_erreur1.'</p>';
echo'<p>'.$pseudo_erreur2.'</p>';
echo'<p>'.$mdp_erreur.'</p>';
echo'<p>'.$email_erreur1.'</p>';
echo'<p>'.$email_erreur2.'</p>';
echo'<p>'.$msn_erreur.'</p>';
echo'<p>'.$signature_erreur.'</p>';
echo'<p>'.$avatar_erreur.'</p>';
echo'<p>'.$avatar_erreur1.'</p>';
echo'<p>'.$avatar_erreur2.'</p>';
echo'<p>'.$avatar_erreur3.'</p>';
echo'<p>Cliquez <a href="./register.php">ici</a> pour recommencer</p>';
}
?>
</div>
</body>
</html>
Notice: Undefined variable:pseudo_erreur1 in K:\Logiciel\wamp\www\Forum\register.php on line 205
Notice: Undefined variable: msn_erreur1 in K:\Logiciel\wamp\www\Forum\register.php on line 208
Notice: Undefined variable: msn_erreur in K:\Logiciel\wamp\www\Forum\register.php on line 210
Notice: Undefined variable: signature_erreur in K:\Logiciel\wamp\www\Forum\register.php on line 211
Notice: Undefined variable: avatar_erreur in K:\Logiciel\wamp\www\Forum\register.php on line 212
Notice: Undefined variable: avatar_erreur1in K:\Logiciel\wamp\www\Forum\register.php on line 213
Notice: Undefined variable: avatar_erreur2 in K:\Logiciel\wamp\www\Forum\register.php on line 214
Notice: Undefined variable: avatar_erreur3 in K:\Logiciel\wamp\www\Forum\register.php on line 215
voila et merci a vous
8.0.1500.71</config>
$pseudo_free=($query->fetchColumn()==0)?1:0;
$query->CloseCursor();
if(!$pseudo_free)
{
$pseudo_erreur1 = "Votre pseudo est déjà utilisé par un membre";
$i++;
}
Thorak83
Messages postés1051Date d'inscriptionjeudi 20 juin 2013StatutMembreDernière intervention22 décembre 2017156 12 juil. 2013 à 18:20
C'est votre système d'erreur avec le $i qui ne va pas.
Imaginons qu'il y ai une erreur sur le pseudo et pas sur l'Email, vous allez quand même afficher $email_erreur1 ???