Je vous expose ma galère du jour :
J'ai une page avec un formulaire d'adhésion (qui équivaut à un formulaire pour enregistrer une nouvelle entrée dans ma table 'membres') : adhesion.php
J'ai une autre page qui traite les données postées par le biais de ce formulaire : form_adhesion_trait.php
Jusque là, tout va bien.
Là où ça ne va plus, c'est que la page form_adhesion_trait se comporte tout le temps comme si le champs 'pseudo' du formulaire est vide/inexistant, et ce même si je le remplis !
j'y comprends rien.
Surtout que le traitement du 'pseudo' est identique au traitement des autres champs, et que pour les autres, ça marche bien !
Je vous met les codes.
page adhesion :
<?php
require("../tech/lang/decide-lang.php");
?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<!-- "Test" est à changer à chaque fois qu'on crée une nouvelle page -->
<title>ACCUEIL</title>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1" />
<!-- ....................................-->
<!--[if lt IE 9]>
<script
src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]--> <!-- ce commentaire est un commentaire spécial qui est lu par Internet explorer pour assurer la compatibilité avec les versions antérieures a IE9
...............................-->
<link rel="stylesheet" href="../tech/style1.css" />
<!-- le lien contenu dans href=" " renvoi vers le fichier css utilisé sur la page. à modifier en fct° -->
</head>
<body>
<div class="vertical_1_3">
<?php include('../tech/header_gauche.php') ; ?>
<section class="section_1_3">
<?php include('../tech/menus/menu_gauche1.php') ; ?>
</section>
</div>
<div class="vertical_2_3">
<?php include('../tech/header_centre.php') ; ?>
<section class="section_2_3">
<!-- choix du menu à afficher -->
<?php
if((isset($_SESSION['pseudo'])) AND (isset($_SESSION['mdp_hache']))) {
include('../tech/menus/menu_top2.php'); }
else {
include('../tech/menus/menu_top1.php');}?>
<!-- affichage du contenu de la section -->
<h1><?php echo text_adhesion;?></h1>
<p><?php echo text_choix_adhesion;?><a href="#adhesion_hors_ligne"><?php echo text_adhesion_h_l ;?></a><?php echo soit;?><a href="#adhesion_en_ligne"><?php echo text_adhesion_en_ligne ;?></a>
<br />
<?php echo condition_cotisation;?><br /><?php echo condition_statuts;?>
<br /><br />
<a href="../tech/fichiers/statuts.pdf"><?php echo telecharge_statuts;?></a>
<br /></p>
<h2 id="adhesion_en_ligne"><?php echo text_adh_en_ligne;?></h2>
<p><?php echo procedure_adhesion_ligne;?></p>
<h3>Formulaire d'adhésion en ligne</h3>
<form method="post" action="../tech/form/form_adhesion_trait.php">
<table>
<tr>
<td><label for="pseudo"><?php echo text_pseudo_x; ?></label></td>
<td><input type="text" name="pseudo" id="pseudo" maxlength="30" />
<td><?php echo caracteristiques_pseudo ; ?></td>
</tr>
<!--............ -->
<tr>
<td><label for="mdp1"><?php echo text_mdp_x; ?></label></td>
<td><input type="password" name="mdp1" id="mdp1" /></td>
<td><?php echo caracteristiques_mdp; ?></td>
</tr>
<!--............ -->
<tr>
<td><label for="mdp2"><?php echo retapez_votre_mdp; ?></label></td>
<td><input type="password" name="mdp2" id="mdp2" /></td>
</tr>
<!--............ -->
<tr>
<td><label for="email1"><?php echo email_x; ?></label></td>
<td><input type="email" name="email1" id="email1" />
</tr>
<!--............ -->
<tr>
<td><label for="email2"><?php echo retapez_votre_email_x; ?></label></td>
<td><input type="email" name="email2" id="email2" /></td>
</tr>
<!--.............-->
<tr>
<td><?php echo votre_genre_x;?></td>
<td><input type="radio" name="genre" value="homme" id="homme" checked="checked" /><label for="homme"><?php echo un_homme; ?></label></td>
<td><input type="radio" name="genre" value="une femme" id="femme" /> <label for="femmme"><?php echo une_femme; ?></label></td>
</tr>
<!--..............-->
<tr>
<td><input type="submit" value="<?php echo TEXT_ENVOYER; ?>" /></td>
</tr>
</table>
<br />
<h1 id="adhesion_hors_ligne"><?php echo text_adh_h_l;?></h1>
<p>Baratin a finir<br /></p>
</section>
<?php include('../tech/footer.php') ?>
</div>
<div class="vertical_3_3">
<?php include('../tech/header_droite.php'); ?>
<section class="section_3_3">
<p>pubs</p>
</section>
</div>
</body>
</html>
et la page form_adhesion_trait :
<?php
// pour pouvoir écrire les $_SESSION //
session_start();
// pour changer la langue //
require("../lang/decide-lang.php");?>
<!--........... recupération des données du formulaire ............-->
<!-- actions si les $_POST existent et si ils ne sont pas vides -->
<?php // pseudo
if ((isset($_POST['pseudo'])) AND (!empty($_POST['pseudo'])))
{
// On rend inoffensives les balises HTML que le visiteur a pu rentrer
$_POST['pseudo'] = htmlspecialchars($_POST['pseudo']);
// on transforme $_POST('xxx'] en $xxx
$pseudo= htmlspecialchars($_POST['pseudo']);
echo pseudo_ok;}
else {
echo erreur_pseudo;
exit;} ?>
<?php // mdp1
if ((isset($_POST['mdp1'])) AND (!empty($_POST['mdp1'])))
{
// On rend inoffensives les balises HTML que le visiteur a pu rentrer
$_POST['mdp1'] = htmlspecialchars($_POST['mdp1']);
// on transforme $_POST('xxx'] en $xxx
$mdp1=$_POST['mdp1'];
echo mdp1_ok;}
else {
echo erreur_mdp1;
exit;} ?>
<?php // mdp2
if ((isset($_POST['mdp2'])) AND (!empty($_POST['mdp2'])))
{
// On rend inoffensives les balises HTML que le visiteur a pu rentrer
$_POST['mdp2'] = htmlspecialchars($_POST['mdp2']);
// on transforme $_POST('xxx'] en $xxx
$mdp2=$_POST['mdp2'];
echo mdp2_ok;}
else {
echo erreur_mdp2;
exit;} ?>
<?php // email1
if ((isset($_POST['email1'])) AND (!empty($_POST['email1'])))
{
// On rend inoffensives les balises HTML que le visiteur a pu rentrer
$_POST['email1'] = htmlspecialchars($_POST['email1']);
// on transforme $_POST('xxx'] en $xxx
$email1=$_POST['email1'];
echo email1_ok;}
else {
echo erreur_email1;
exit;} ?>
<?php // email2
if ((isset($_POST['email2'])) AND (!empty($_POST['email2'])))
{
// On rend inoffensives les balises HTML que le visiteur a pu rentrer
$_POST['email2'] = htmlspecialchars($_POST['email2']);
// on transforme $_POST('xxx'] en $xxx
$email2=$_POST['email2'];
echo email2_ok;}
else {
echo erreur_email2;
exit;} ?>
<?php // genre
if ((isset($_POST['genre'])) AND (!empty($_POST['genre'])))
{$genre=$_POST['genre'];
echo genre_ok;}
else {
echo erreur_genre;
exit;} ?>
<!-- validation des champs de vérification -->
<?php // mdp
if ($mdp1 === $mdp2) { //si les 2 $ créées à la ligne 15 et 22 sont identiques
$mdp = $_POST['mdp1'];
echo mdp_ok;}
else {
echo erreur_mdp;
exit; } ?>
<?php // mail
if ($email1 === $email2) { //si les 2 $ créées à la ligne 29 et 36 sont identiques
$email=$_POST['email1']; // creation de la variable $email qui a la même valeur que $_POST['email1']
echo email_ok;} // affichage du message de confirmation sur ma page test temporaire
else {
echo 'erreur_email - message erreur_mail de la ligne 85';
exit; }
?>
<?php // format du pseudo
if (preg_match("#^[a-zA-Z0-9_-]{4,30}$#", $pseudo))
{
echo pseudo_valide;
}
else
{
echo pseudo_non_valide;
exit;}
?>
<?php // format du mdp
if (preg_match("#^[a-zA-Z0-9]{4,16}$#", $mdp))
{
echo mdp_valide;
}
else
{
echo mdp_non_valide;
exit;}
?>
<?php // format de l'email1
if (preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $email))
{
echo email_valide;
}
else
{
echo email_non_valide;
exit;}
?>
<?php // connexion à la base
$db = mysql_connect('localhost', 'root', '') or die('Erreur de connexion '.mysql_error());
// sélection de la base
mysql_select_db('gv2',$db) or die('Erreur de selection '.mysql_error());
// Hachage du mot de passe
$mdp_hache = sha1($_POST['mdp1']);
// on regarde si le pseudo existe déjà
$sql = "SELECT id FROM membres WHERE pseudo='$pseudo'";
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
// on compte le nombre de résultats
$res = mysql_num_rows($req);
if($res!=0) // le pseudo existe déjà, on affiche un message d'erreur
{
echo pseudo_existant;
exit;
}
else {// le pseudo n'existe pas, on insère les informations du formulaire dans la table
// on écrit la requête sql & on insère les informations du formulaire dans la table
$sql = "INSERT INTO membres(id, pseudo, mdp, date_enregistrement, sexe, email) VALUES('','$pseudo','$mdp_hache',NOW(),'$genre', '$email')";
}
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
?>
<?php
session_start ();
$_SESSION['pseudo'] = $pseudo;
$_SESSION['mdp_hache'] = $mdp_hache;
header('Location: ../../pg/espace_membre.php');
?>
Merci d'avance pour votre aide.