Bonjour,
Voila je rencontre un petit problème avec mon code.
apres suivi plusieurs tutos pour creer un forum et n'étant pas un expert en php , je me heurte a deux problèmes
Décrivez ici votre code ou ce que vous cherchez à faire
Entourez votre code pour bien le mettre en forme
<?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
{
echo '<h1>Inscription </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" placeholder="Pseudo" id="pseudo" /> (le pseudo doit contenir entre 3 et 15 caractères)
<br />
<label for="password">* Mot de Passe :</label>
<input type="password" placeholder="Votre Mot de Passe" name="password" id="password" />
<br />
<label for="confirm">* Confirmer le mot de passe :</label>
<input type="password" placeholder="Confirmez Mot de Passe" name="confirm" id="confirm" />
</fieldset>
<fieldset>
<legend>Contacts</legend>
<label for="email">* Votre adresse Mail :</label>
<input type="text" placeholder="Votre Mail" name="email" id="mail" />
<br />
<label for="mail2">*Confirmez votre Mail :</label>
<input type="text" placeholder="Confirmez votre Mail" name="mail" id="mail2" />
<br />
</fieldset>
<fieldset>
<legend>Informations supplémentaires</legend>
<label for="nomdecompte">* Nom de compte :</label>
<input type="text" pattern="[A-Za-z]+.[0-9]{4}" placeholder="XXXX.1234" name="nomdecompte" id="nomdecompte" />
<br />
<label for="Perso ">* Personnage Principal :</label>
<select name="Profession" type="text" id="profession">
<option value="gardien">Gardien </option>
<option value="guerrier">Guerrier </option>
<option value="revenant">Revenant </option>
<option value="ingenieur">Ingenieur </option>
<option value="rodeur">Rodeur </option>
<option value="voleur">Voleur </option>
<option value="elementaliste">Elementaliste </option>
<option value="envouteur">Envouteur </option>
<option value="necromant">Necromant </option>
</select>
</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 />
<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>
<label>Se souvenir de moi ?</label><input type="checkbox" name="souvenir" /><br />
</div>
</body>
</html>';
} //Fin de la partie formulaire
?>
<?php
//On récupère les variables
$i = 0;
$temps = time();
$pseudo = $_POST['pseudo'];
$signature = $_POST['signature'];
$mail = $_POST['mail'];
$nomdecompte = $_POST['nomdecompte'];
$profession = $_POST['profession'];
$password = sha1($_POST['password']);
$confirm = sha1($_POST['confirm']);
//Vérification du pseudo
$query=$bdd->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 ($password != $confirm || empty($passeword) || empty($confirm))
{
$password_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
$query=$bdd->prepare('SELECT COUNT(*) AS nbr FROM forum_membres WHERE membre_mail =:mail');
$query->bindValue(':mail',$mail, 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}$#", $mail) || empty($mail))
{
$email_erreur2 = "Votre adresse E-Mail n'a pas un format valide";
$i++;
}
//Vérification de la signature
if (strlen($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 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";
}
}
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=$bdd->prepare('INSERT INTO forum_membres (membre_pseudo, membre_mdp, membre_confirm, membre_mail, mmebre_mail2,
membre_nomdecompte, membre_avatar,
membre_signature, membre_profession, membre_inscrit,
membre_derniere_visite)
VALUES (:pseudo, :password, :confirm, :mail, :mail2, :nomdecompte, :nomavatar, :signature, :profession, :temps, :temps)');
$query->bindValue(':pseudo', $pseudo, PDO::PARAM_STR);
$query->bindValue(':password', $pass, PDO::PARAM_INT);
$query->bindValue(':mail', $confirm, PDO::PARAM_INT);
$query->bindValue(':mail', $mail, PDO::PARAM_STR);
$query->bindValue(':mail', $mail2, PDO::PARAM_STR);
$query->bindValue(':nomdecompte', $nomdecompte, PDO::PARAM_STR);
$query->bindValue(':nomavatar', $nomavatar, PDO::PARAM_STR);
$query->bindValue(':signature', $signature, PDO::PARAM_STR);
$query->bindValue(':profession', $profession, PDO::PARAM_STR);
$query->bindValue(':temps', $temps, PDO::PARAM_INT);
$query->execute(array(
'pseudo'=> $pseudo,
'password'=> $password,
'confirl' => $confirm,
'mail'=> $mail,
'mail' => $mail2,
'nomdecompte'=> $nomdecompte,
'nomavatar'=> $nomavatar,
'signature'=> $signature,
'profession'=> $profession,
'temps'=> $temps, ));
//Et on définit les variables de sessions
$_SESSION['pseudo'] = $pseudo;
$_SESSION['id'] = $bdd->lastInsertId(); ;
$_SESSION['level'] = 2;
$query->CloseCursor();
}
?>
</div>
</body>
</html>```
### Ce que je veux
le premier ; lors de mon inscription dans la page register.php rien ne s'inscrit dans ma bdd ,
mon deuxieme ; message d'erreur sur plusieurs lignes de code ;
Notice: Undefined index: pseudo in C:\wamp64\www\forumopen\register.php on line 82
Notice: Undefined index: signature in C:\wamp64\www\forumopen\register.php on line 83
Notice: Undefined index: mail in C:\wamp64\www\forumopen\register.php on line 84
Notice: Undefined index: nomdecompte in C:\wamp64\www\forumopen\register.php on line 85
Notice: Undefined index: profession in C:\wamp64\www\forumopen\register.php on line 86
Notice: Undefined index: password in C:\wamp64\www\forumopen\register.php on line 87
Notice: Undefined index: confirm in C:\wamp64\www\forumopen\register.php on line 88
mon deuxieme ; message d'erreur sur plusieurs lignes de code ;ez ici ce que vous cherchez à obtenir
### Ce que j'obtiens