Page 1 sur 3
rajouter email a l inscription
Posté : 14 mars 2012, 16:25
par alexis79
Bonjour, alors tout d'abord, j'ai un site (en construction actuellement) sur le quel j'ai un systeme de membres (avec SQL et PHP).
J'ai donc une table "membre" avec les colonnes suivantes : id (numéro du membre), login (pseudo), pass_md5 (mot de passe caché) et je viens de rajouter "email" (varchar(255) ), seul problème, je ne sais plus comment le rajouter dans mon code sur ma page "inscription.php", lorsque je l'introduis au formulaire, bien évidemment, la variable n'a pas été créee.
J'ai donc besoin de votre aide, d'avance merci .
Re: rajouter email a l inscription
Posté : 14 mars 2012, 16:32
par bostak
salut,
tu dois faire quelque chose de semblable :
ceci c'est pour insérer dans ta BDD :
Code : Tout sélectionner
$requete = mysql_query("INSERT INTO `users`
(`login`, `mail`, `pass`)
VALUES
('".mysql_real_escape_string($login)."', '".mysql_real_escape_string($mail)."', '".mysql_real_escape_string(md5($pass))."'); ");
et sinon tu récupéres l'adresse email par un $_POST['email']
Cordialement,
Re: rajouter email a l inscription
Posté : 14 mars 2012, 16:38
par alexis79
Ma BDD possède déjà la colonne email, c'est dans mon code à l'inscription, qu'il faut quelque chose. Voici le code :
<?php
// on teste si le visiteur a soumis le formulaire
if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') {
// on teste l'existence de nos variables. On teste également si elles ne sont pas vides
if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))) {
// on teste les deux mots de passe
if ($_POST['pass'] != $_POST['pass_confirm']) {
$erreur = 'Les 2 mots de passe sont différents.';
}
else {
$base = mysql_connect ('sql.franceserv.fr', 'titititi', 'jeremy79270');
mysql_select_db ('titititi-db1', $base);
// on recherche si ce login est déjà utilisé par un autre membre
$sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);
if ($data[0] == 0) {
$sql = 'INSERT INTO membre VALUES("", "'.mysql_escape_string($_POST['login']).'", "'.mysql_escape_string(md5($_POST['pass'])).'")';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
session_start();
$_SESSION['login'] = $_POST['login'];
header('Location: index2.php');
exit();
}
else {
$erreur = 'Un membre possède déjà ce Pseudo.';
}
}
}
else {
$erreur = 'Au moins un des champs est vide.';
}
}
?>
<html>
<head><link rel="shortcut icon" href="favicon.gif" />
<title>WorldAventure</title>
</head>
<body><body background="fond.gif"><font color="#C0C0C0">
<center>Inscription à l'espace membre :<br /><br>
<form action="inscription.php" method="post">
Votre Pseudo : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br />
Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br />
Confirmation : <input type="password" name="pass_confirm" value="<?php if (isset($_POST['pass_confirm'])) echo htmlentities(trim($_POST['pass_confirm'])); ?>"><br />
<input type="submit" name="inscription" value="Go !"></center>
</form>
<?php
if (isset($erreur)) echo '<br />',$erreur;
?>
<center><a href="index.php"><img src="accueil.gif"></a></center>
</body>
</html>
Et je ne sais pas comment rajouter dans le formulaire d'inscription, la case Email, QUI L ENREGISTRERAI DANS MA BDD !!
Merci d'avance !
Re: rajouter email a l inscription
Posté : 14 mars 2012, 16:41
par alexis79
C'est assez pressé svp ...

Re: rajouter email a l inscription
Posté : 14 mars 2012, 16:45
par bostak
as tu pris le temps de comprendre le code ? c'est facile là tu as l'exemple sous les yeux
Code : Tout sélectionner
<?php
// on teste si le visiteur a soumis le formulaire
if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') {
// on teste l'existence de nos variables. On teste également si elles ne sont pas vides
if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && ([color=#FF0000]isset($_POST['email'])) && (!empty($_POST['email']))[/color] && !empty($_POST['pass'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))) {
// on teste les deux mots de passe
if ($_POST['pass'] != $_POST['pass_confirm']) {
$erreur = 'Les 2 mots de passe sont différents.';
}
else {
$base = mysql_connect ('sql.franceserv.fr', 'titititi', 'jeremy79270');
mysql_select_db ('titititi-db1', $base);
// on recherche si ce login est déjà utilisé par un autre membre
$sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);
if ($data[0] == 0) {
$sql = 'INSERT INTO membre VALUES("", "'.mysql_escape_string($_POST['login']).'", "'.mysql_escape_string(md5($_POST['pass'])).'")'; [color=#FF0000]ici tu rajoutes comme dans l'exemple que je t'ai mis dans le post précédent[/color]
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
session_start(); [color=#FF0000] ====> sa se met en début de code le session start [/color]
$_SESSION['login'] = $_POST['login'];
header('Location: index2.php');
exit();
}
else {
$erreur = 'Un membre possède déjà ce Pseudo.';
}
}
}
else {
$erreur = 'Au moins un des champs est vide.';
}
}
?>
<html>
<head><link rel="shortcut icon" href="favicon.gif" />
<title>WorldAventure</title>
</head>
<body><body background="fond.gif"><font color="#C0C0C0">
<center>Inscription à l'espace membre :<br /><br>
<form action="inscription.php" method="post">
Votre Pseudo : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br />
[color=#FF0000]Votre email : <input type="text" name="email" value="<?php if (isset($_POST['email'])) echo htmlentities(trim($_POST['email'])); ?><br />[/color] [color=#FF0000]je suis pas fan du tout de tes <br /> tu veux pas tout mettre avec des <tr> et des <td> sa sera beaucoup plus propre[/color]
Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br />
Confirmation : <input type="password" name="pass_confirm" value="<?php if (isset($_POST['pass_confirm'])) echo htmlentities(trim($_POST['pass_confirm'])); ?>"><br />
<input type="submit" name="inscription" value="Go !"></center>
</form>
<?php
if (isset($erreur)) echo '<br />',$erreur;
?>
<center><a href="index.php"><img src="accueil.gif"></a></center>
</body>
</html>
tu devrais t'en sortir avec cela
Cordialement,
Re: rajouter email a l inscription
Posté : 14 mars 2012, 16:46
par bostak
C'est assez pressé svp ...

tu aurais pris le temps de comprendre et réfléchir deux minutes tu aurais progresser et tu aurais vu que c'était pas si sorcier
Re: rajouter email a l inscription
Posté : 14 mars 2012, 16:51
par alexis79
Mais j'avais déjà fait ça (en gros) et il me dit que y a un problème, peux-tu mettre le code en dans des balises php sur le forum, que ce soit plus clair stp.
Ensuite, j'ai réflechi, je suis venu ici ensuite, merci en tout cas de prendre du temps pour moi.
Re: rajouter email a l inscription
Posté : 14 mars 2012, 16:54
par bostak
<?php
// on teste si le visiteur a soumis le formulaire
if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') {
// on teste l'existence de nos variables. On teste également si elles ne sont pas vides
if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && (isset($_POST['email'])) && (!empty($_POST['email'])) && !empty($_POST['pass'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))) {
// on teste les deux mots de passe
if ($_POST['pass'] != $_POST['pass_confirm']) {
$erreur = 'Les 2 mots de passe sont différents.';
}
else {
$base = mysql_connect ('sql.franceserv.fr', 'titititi', 'jeremy79270');
mysql_select_db ('titititi-db1', $base);
// on recherche si ce login est déjà utilisé par un autre membre
$sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'"';
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
$data = mysql_fetch_array($req);
if ($data[0] == 0) {
$sql = 'INSERT INTO membre VALUES("", "'.mysql_escape_string($_POST['login']).'", "'.mysql_escape_string(md5($_POST['pass'])).'")'; ici tu rajoutes comme dans l'exemple que je t'ai mis dans le post précédent
mysql_query($sql) or die('Erreur SQL !'.$sql.'
'.mysql_error());
session_start(); ====> sa se met en début de code le session start
$_SESSION['login'] = $_POST['login'];
header('Location: index2.php');
exit();
}
else {
$erreur = 'Un membre possède déjà ce Pseudo.';
}
}
}
else {
$erreur = 'Au moins un des champs est vide.';
}
}
?>
<html>
<head><link rel="shortcut icon" href="favicon.gif" />
<title>WorldAventure</title>
</head>
<body><body background="fond.gif"><font color="#C0C0C0">
<center>Inscription à l'espace membre :
<br>
<form action="inscription.php" method="post">
Votre Pseudo : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>">
Votre email : <input type="text" name="email" value="<?php if (isset($_POST['email'])) echo htmlentities(trim($_POST['email'])); ?>
je suis pas fan du tout de tes br
tu veux pas tout mettre avec des <tr> et des <td> sa sera beaucoup plus propre
Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>">
Confirmation : <input type="password" name="pass_confirm" value="<?php if (isset($_POST['pass_confirm'])) echo htmlentities(trim($_POST['pass_confirm'])); ?>">
<input type="submit" name="inscription" value="Go !"></center>
</form>
<?php
if (isset($erreur)) echo '
',$erreur;
?>
<center><a href="index.php"><img src="accueil.gif"></a></center>
</body>
</html>
regarde là je t'ai mis en rouge les modifications,
donne moi les erreurs si php t'en renvoie
Re: rajouter email a l inscription
Posté : 14 mars 2012, 16:58
par alexis79
Ok, j'ai tout rajouté, sauf quand tu me dis "l'exemple que je t'ai donné dans le dernier post", je vois bien l'exemple, mais je pige pas ce que je dois rajouter.
Tu peux me le dire stp ?
Je te dirais ensuite si il me donne des erreurs !
Re: rajouter email a l inscription
Posté : 14 mars 2012, 17:01
par bostak
Code : Tout sélectionner
if ($data[0] == 0) {
$sql = 'INSERT INTO membre VALUES("", "'.mysql_escape_string($_POST['login']).'", "'.mysql_escape_string(md5($_POST['pass'])).'", "'.mysql_escape_string($_POST['email']).'")';
mysql_query($sql) or die('Erreur SQL !'.$sql.'
'.mysql_error());
Re: rajouter email a l inscription
Posté : 14 mars 2012, 17:04
par Alexis79
Alors il me dit :
"Erreur serveur
Le site Web a rencontré une erreur lors de l'extraction de
http://worldaventure.franceserv.com/inscription.php. Cela peut être dû à une opération de maintenance ou à une configuration incorrecte.
Voici quelques suggestions :
Actualisez cette page Web ultérieurement
Erreur HTTP 500 (Internal Server Error) : Une situation inattendue s'est produite tandis que le serveur tentait de traiter la demande."
:/
Re: rajouter email a l inscription
Posté : 14 mars 2012, 17:06
par bostak
tu peux me copier coller ta page que tu as complété stp
Re: rajouter email a l inscription
Posté : 14 mars 2012, 17:08
par Alexis79
<?php
// on teste si le visiteur a soumis le formulaire
if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') {
// on teste l'existence de nos variables. On teste également si elles ne sont pas vides
if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['email'])) && (!empty($_POST['email'])) && (isset($_POST['pass_confirm'])) && !empty($_POST['pass_confirm']))) {
// on teste les deux mots de passe
if ($_POST['pass'] != $_POST['pass_confirm']) {
$erreur = 'Les 2 mots de passe sont différents.';
}
else {
$base = mysql_connect ('sql.franceserv.fr', 'titititi', 'jeremy79270');
mysql_select_db ('titititi-db1', $base);
// on recherche si ce login est déjà utilisé par un autre membre
$sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);
if ($data[0] == 0) {
$sql = 'INSERT INTO membre VALUES("", "'.mysql_escape_string($_POST['login']).'", "'.mysql_escape_string(md5($_POST['pass'])).'", "'.mysql_escape_string($_POST['email']).'")';
mysql_query($sql) or die('Erreur SQL !'.$sql.'
'.mysql_error());
session_start();
$_SESSION['login'] = $_POST['login'];
header('Location: index2.php');
exit();
}
else {
$erreur = 'Un membre possède déjà ce Pseudo.';
}
}
}
else {
$erreur = 'Au moins un des champs est vide.';
}
}
?>
<html>
<head><link rel="shortcut icon" href="favicon.gif" />
<title>WorldAventure</title>
</head>
<body><body background="fond.gif"><font color="#C0C0C0">
<center>Inscription à l'espace membre :<br /><br>
<form action="inscription.php" method="post">
Votre Pseudo : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br />
Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br />
Confirmation : <input type="password" name="pass_confirm" value="<?php if (isset($_POST['pass_confirm'])) echo htmlentities(trim($_POST['pass_confirm'])); ?>"><br />
Votre email : <input type="text" name="email" value="<?php if (isset($_POST['email'])) echo htmlentities(trim($_POST['email'])); ?><br />
<input type="submit" name="inscription" value="Go !"></center>
</form>
<?php
if (isset($erreur)) echo '<br />',$erreur;
?>
<center><a href="index.php"><img src="accueil.gif"></a></center>
</body>
</html>
Voilà, merci d'avance !
Re: rajouter email a l inscription
Posté : 14 mars 2012, 17:11
par bostak
change la 5ème ligne par ceci :
Code : Tout sélectionner
if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['email']) && !empty($_POST['email'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))) {
il y avait un petit soucis de parenthèse
Re: rajouter email a l inscription
Posté : 14 mars 2012, 17:13
par bostak
et la aussi dans le champ mot de passe remplace par sa :
Code : Tout sélectionner
Votre email : <input type="text" name="email" value="<?php if (isset($_POST['email'])) echo htmlentities(trim($_POST['email'])); ?>"><br />
tu avais un soucis de syntaxe