Bonjour
Posté : 17 mai 2012, 11:56
Voila je suis des plus débutantes en php et apres avoir désespéremment essayé de trouver des sources d'espace membre sans bug sur le net je m'y suis mise moi même mais voila forcément il y a des erreurs .
Voila ce que j ai fais ;
une page d'accueil qui mène à la page d ínscription en php voici le code de la page d 'inscription pour les exposants :
Tout a l'air de bien fonctionner cela redirige vers une page appelée inscrits.php une fois sur la page inscrits le message apparait comme quoi le membre est bien connecté ... super jusqu' à là mais une fois sur ma base mysql sur la table membres et bien il n'y a personne!
voici le code php de la page inscrits.php
Le membre recoit bien un email avec récap de ses données mais sur ma base et la table membres rien de rien il n'apparait pas j'ai donc du oublier d'ajouter quelque chose mais quoi???
merci
Nathou
Voila ce que j ai fais ;
une page d'accueil qui mène à la page d ínscription en php voici le code de la page d 'inscription pour les exposants :
Code : Tout sélectionner
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><?php
/* Création d'une fonction - utilisée dans la récupération des variables - qui teste la configuration get_magic_quotes_gpc du serveur.
Si oui, supprime avec la fonction stripslashes les antislashes "\" insérés dans les chaines de caractère des variables gpc (GET, POST, COOKIE) */
function Verif_magicquotes ($chaine)
{
if (get_magic_quotes_gpc()) $chaine = stripslashes($chaine);
return $chaine;
}
// Initialisation du message de réponse
$message = null;
// Si le formulaire est envoyé
if (isset($_POST['pseudo']))
{
/* Récupération des variables issues du formulaire
Teste l'existence les données post en vérifiant qu'elles existent, qu'elles sont non vides et non composées uniquement d'espaces.
(Ce dernier point est facultatif et l'on pourrait se passer d'utiliser la fonction trim())
En cas de succès, on applique notre fonction Verif_magicquotes pour (éventuellement) nettoyer la variable */
$pseudo = (isset($_POST['pseudo']) && trim($_POST['pseudo']) != '')? Verif_magicquotes($_POST['pseudo']) : null;
$pass = (isset($_POST['pass']) && trim($_POST['pass']) != '')? Verif_magicquotes($_POST['pass']) : null;
$ville = (isset($_POST['ville']) && trim($_POST['ville']) != '')? Verif_magicquotes($_POST['ville']) : null;
$tel = (isset($_POST['tel']) && trim($_POST['tel']) != '')? Verif_magicquotes($_POST['tel']) : null;
$societe = (isset($_POST['societe']) && trim($_POST['societe']) != '')? Verif_magicquotes($_POST['societe']) : null;
$activite = (isset($_POST['activite']) && trim($_POST['activite']) != '')? Verif_magicquotes($_POST['activite']) : null;
$mail = (isset($_POST['mail']) && trim($_POST['mail']) != '')? Verif_magicquotes($_POST['mail']) : null;
$siteweb = (isset($_POST['siteweb']) && trim($_POST['siteweb']) != '')? Verif_magicquotes($_POST['siteweb']) : null;
$formule = (isset($_POST['formule']) && trim($_POST['formule']) != '')? Verif_magicquotes($_POST['formule']) : null;
// Si $pseudo et $pass différents de null
if(isset($pseudo,$pass))
{
/* Connexion au serveur : dans cet exemple, en local sur le serveur d'évaluation
A MODIFIER avec vos valeurs */
$hostname = "localhost";
$database = "......";
$username = "'.....";
$password = "''''''";
$connection = mysql_connect($hostname, $username, $password) or die(mysql_error());
// Connexion à la base
mysql_select_db($database, $connection);
// Indique à mySql de travailler en UTF-8 (par défaut mySql risque de travailler au standard ISO-8859-1)
mysql_query("SET NAMES 'utf8'");
// Préparation des données pour les requêtes à l'aide de la fonction mysql_real_escape_string
$nom = mysql_real_escape_string($pseudo);
$password = mysql_real_escape_string($pass);
$ville = mysql_real_escape_string($ville);
$tel = mysql_real_escape_string($tel);
$societe = mysql_real_escape_string($societe);
$activite = mysql_real_escape_string($activite);
$mail = mysql_real_escape_string($mail);
$siteweb = mysql_real_escape_string($siteweb);
$formule = mysql_real_escape_string($formule);
// Requête pour compter le nombre d'enregistrements répondant à la clause : champ du pseudo de la table = pseudo posté dans le formulaire
$requete = "SELECT count(*) as nb FROM membres WHERE pseudo = '".$nom."'";
// Exécution de la requête
$req_exec = mysql_query($requete) or die(mysql_error());
// Création du tableau associatif du résultat
$resultat = mysql_fetch_assoc($req_exec);
// nb est le nom de l'allias associé à count(*) et retourne le résultat de la requête dans le tableau $resultat;
if ($resultat['nb'] == 0)
// Résultat du comptage = 0 pour ce pseudo, on peut donc l'enregistrer
{
// Pour enregistrer la date actuelle (date/heure/minutes/secondes) on peut utiliser directement la fonction mysql : NOW()
$insertion = "INSERT INTO visiteurs(pseudo,pass,ville,tel,mail,date_enregistrement,societe,siteweb,formule) VALUES('".$nom."', '".$password."','".$ville."', '".$tel."','".$mail."','".$societe."','".$siteweb."', '".$formule."', NOW())";
// Exécution de la requête d'insertion
$inser_exec = mysql_query($insertion) or die(mysql_error());
/* Si l'insertion s'est faite correctement (une requête d'insertion retourne "true" en cas de succès, je peux donc utiliser
l'opérateur de comparaison strict '===' c.f. <!-- m --><a class="postlink" href="http://fr.php.net/manual/fr/language.operators.comparison.php">http://fr.php.net/manual/fr/language.op ... arison.php</a><!-- m -->) */
if ($inser_exec === true)
{
/* Démarre la session et enregistre le pseudo dans la variable de session $_SESSION['login']
qui donne au visiteur la possibilité de se connecter. */
$_SESSION['login'] = $pseudo;
// A MODIFIER Remplacer le '#' par l'adresse de votre page de destination, sinon ce lien indique la page actuelle.
$message = 'Votre inscription est enregistree. <a href = "http://www.e-salonbusiness.com/inscrits.php">Cliquez ici pour vous connecter</a>';
}
}
else
{ // Le pseudo est déjà utilisé
$message = 'Ce pseudo est déjà utilisé, changez-le.';
}
}
else
{ // Au moins un des deux champs "pseudo" ou "mot de passe" n'a pas été rempli
$message = 'Les champs "Pseudo" et "Mot de passe" doivent être remplis.';
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Formulaire d'inscription visiteurs</title>
<style type="text/css">
<!--
body, p, h1,form, input {
margin:0;
padding:0;
}
body {
background-color:#FFFFFF
}
#inscription {
width:380px;
background:#FFFFFF;
margin:20px auto;
font-family: Arial, Helvetica, sans-serif;
font-size:1em;
border:2px solid #333333;
}
#inscription h1 {
text-align:center;
font-size:1.2em;
background:#333333;
padding-bottom:5px;
margin-bottom:15px;
color:#FFFFFF;
letter-spacing:0.05em;
}
#inscription p {
padding-top:15px;
padding-right:50px;
text-align:right;
}
#inscription input {
margin-left:30px;
width:150px;
}
#inscription #valider {
width:155px;
font-size:0.8em;
}
#inscription #message {
height:27px;
font-size:1.7em;
font-weight:bold;
text-align:center;
padding:10px 0 0 0;
}
-->
</style>
</head>
<body>
<div id = "inscription">
<form name="#" method="post" action="inscrits.php">
<h1>Inscription Exposants </h1>
<p><label for = "pseudo">Nom : </label><input type = "text" name = "pseudo" id = "pseudo" /></p>
<p><label for = "pass">Mot de passe : </label><input type = "password" name = "pass" id = "pass" /></p>
<p><label for = "ville">ville : </label><input type = "text" name = "ville" id = "ville" /></p>
<p><label for = "societe">societe : </label><input type = "text" name = "societe" id = "societe" /></p>
<p><label for = "tel">tel : </label><input type = "text" name = "tel" id = "tel" /></p>
<p><label for = "activite">Secteur d'activite : </label><input type = "text" name = "activite" id = "activite" /></p>
<p><label for = "mail">Email : </label><input type = "text" name = "mail" id = "mail" /></p>
<p><label for = "siteweb">Site web : </label><input type = "text" name = "siteweb" id = "siteweb" /></p>
<p><select name="select"> <option value="VIPEXPOSANT">VIP EXPOSANT </option>
<option value="LIGHTEXOSANT">LIGHT EXPOSANT </option>
<option value="Choisir" selected="selected">Choisir</option>
</select>choisissez votre formule</p>
<p> <input type = "submit" value = "Envoyer" id = "valider" /></p>
</form>
<p id = "message"><?php if(isset($message)) echo $message ?></p>
<p align="center"><a href="http://www.e-salonbusiness.com"></a></p>
</div>
</body>
</html>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>formulaire exposants</title>
</head>
<body>
</body>
</html>
Tout a l'air de bien fonctionner cela redirige vers une page appelée inscrits.php une fois sur la page inscrits le message apparait comme quoi le membre est bien connecté ... super jusqu' à là mais une fois sur ma base mysql sur la table membres et bien il n'y a personne!
voici le code php de la page inscrits.php
Code : Tout sélectionner
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>inscrits</title>
</head>
<?php
$pass = htmlentities($_POST['pass']);//On recupère les infos
$pseudo = htmlentities($_POST['pseudo']);
$ville = htmlentities($_POST['ville']);
$mail = htmlentities($_POST['mail']);
$societe = htmlentities($_POST['societe']);
$formule = htmlentities($_POST['formule']);
$siteweb = htmlentities($_POST['siteweb']);
$tel = htmlentities($_POST['tel']);
$activite = htmlentities($_POST['activite']);
$date_enregistrement = date("d/m/y");
/*On Fait la variable contenant le mail de confirmation*/
$message = '<html><body>Bonjour ' . $pseudo . ' et bienvenue sur le premier salon virtuel dedie a la communaute</br>';
$message .= '</br>';
$message .= 'Vous venez de vous inscrire et nous sommes heureux<br>de pouvoir vous compter aujourd\'hui parmi nos membres.<br>';
$message .= 'Voici un rappel de vos identifiants, notez les précieusement : <br>';
$message .= 'Votre Mot de passe: ' . $pass .'<br><br>';
$message .= 'Votre ville: ' . $ville .'<br><br>';
$message .= 'Votre mail: ' . $mail .'<br><br>';
$message .= 'Votre societe: ' . $societe .'<br><br>';
$message .= 'Votre formule: ' . $formule .'<br><br>';
$message .= 'Votre site web: ' . $siteweb .'<br><br>';
$message .= 'Votre tel: ' . $tel .'<br><br>';
$message .= 'date dinscription: ' . $date_enregistrement .'<br><br>';
$message .= 'Si vous souhaitez changer vos informations, rendez-vous dans votre compte pour les mettre à jour.<br>';
$message .= 'A très bientôt sur le site!';
//Selection de la table
$SQL = "insert into membres(id,pass,pseudo,ville,mail,tel,formule,activite,siteweb,societe,date_enregistrement) values ('$pass', '$pseudo', '$ville', '$mail', '$tel', '$formule', '$societe', '$activite', '$siteweb', '$date_enregistrement')";
$reponse = '<div align="center" class="nom">Bravo, vous êtes maintenant inscrit.<br>Vous allez recevoir un e-mail résumant vos infos. <br><a href="http://www.e-salonbusiness.com/salonaccueil.htm">Accueil Salon</a></div>';
$entete = "MIME-Version: 1.0\r\n";
$entete .= "Content-type: text/html; charset=iso-8859-1\r\n";
$entete .= "From: <$email_admin>\r\n";
$entete .= "Reply-To: $email_admin\r\n";
mail($mail,'Bienvenue ' . $login .'.' , $message, $entete);
echo "$reponse";
?>
<body>
</body>
</html>
merci
Nathou