Pages: 1
|
Celui qui sacrifie sa liberté pour sa sécurité, ne mérite aucune des deux !
Membre
|
Bonjour,
Voilà celà fait un bon moment que je cherche comment vérifier un champ Email si il contien un "@"et "." derrière @!
Après des recherche sur la toile j'ai tombé sur un bout de code mais je ne sais pas comment l'inclure dans ma page d'inscription Le voici: if (preg_match("#^[a-z0-9._-]+@[a-z0-9._-].[a-z]$#", $_POST['email'])) {
$erreur = 'Votre email n\'est pas valide';
}
et le code de la page "inscription.php":
<?php
if (isset($_POST['login']) && $_POST['email'] == 'Inscription') {
if ((isset($_POST['login']) && (isset($_POST['login']) && !empty($_POST['email'])) && !empty($_POST['email'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))) {
if ($_POST['pass'] != $_POST['pass_confirm']) {
$erreur = '<font color="marron" size="3><b>Erreur</b></font><font color="red" size="3">Les 2 mots de passe sont différents.';
}
else {
$base = mysql_connect ('****', '****', '***');
mysql_select_db ('membre', $base);
$sql = 'SELECT id FROM membre WHERE login="'.mysql_real_escape_string($_POST['login']).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$nb = mysql_num_rows($req);
if ($nb == 0) {
$sql = 'INSERT INTO membre VALUES("", "'.mysql_real_escape_string($_POST['login']).'", "'.mysql_real_escape_string($_POST['email']).'", NOW(), "'.mysql_real_escape_string($_POST['ip']).'", "'.mysql_escape_string($_POST['pass']).'")';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
// on récupère l'id de notre nouveau membre
$id = mysql_insert_id();
session_start();
$_SESSION['login'] = $_POST['login'];
// on stocke cet id dans une variable de session
$_SESSION['id'] = $id;
header('Location: membre.php');
exit();
}
else {
$erreur = '<font color="marron" size="3><b>Erreur</b></font><font color="red" size="3">Un membre possède déjà ce login.</font>';
}
}
}
else {
$erreur = '<font color="marron" size="3><b>Erreur</b></font><font color="red" size="3">Au moins un des champs est vide.</font>';
}
}
?>
Sachant que le formulaire contient 4 champs:
- login
- email
- password
- confirmation password
Merci d'avance!!
|
Admin
|
Bonjour,
pourtant c'est juste une simple condition if.
Si l'email est valide, tu met la suite de ton code à l'intérieur des accolades.
Sinon, tu met la variable $erreur. c'est tout.
Donc tu doit simplement faire quelque chose du genre:
if (preg_match("#^[a-z0-9._-]+@[a-z0-9._-].[a-z]$#", $_POST['email']))
{
//Si l'email est bon, tu continue avec les autres vérifications, mot de passe, pseudo...
}
else
{
$erreur = 'Votre email n\'est pas valide';
}
Cordialement
|
Celui qui sacrifie sa liberté pour sa sécurité, ne mérite aucune des deux !
Membre
|
Bonjour,
Justement je ne sais pas où l'inclure dans le code de ma page
Merci d'avance
|
Membre
|
Si tu as :
<form action="action.php" method="POST">
Tu dois le mettre dans action.php, je crois. Dans ce cas, n'oublis pas le lien pour ervenir en arrière en cas d'erreur.
|
Celui qui sacrifie sa liberté pour sa sécurité, ne mérite aucune des deux !
Membre
|
Merci Spitfire 95,
Je sais que c'est dans la partie PHP , mais je ne sais pas ou le mettre dans mon code php!
et en fait ma page "inscription.php" contient le formulaire et le code PHP! ça veut dire j'ai le code PHP en haut de ma page avant le <html> et en bas après le <html><head>... jai le foemulaire <form action="inscription.php" method="post">...!
|
Membre
|
Essaie ça :
<?
if (isset($_POST['login']) && $_POST['email'] == 'Inscription') {
if ((isset($_POST['login']) && (isset($_POST['login']) && !empty($_POST['email'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))) {
$erreur=''
if ($_POST['pass'] != $_POST['pass_confirm']) {
$erreur .= '<font color="marron" size="3><b>Erreur</b></font><font color="red" size="3">Les 2 mots de passe sont différents.';
}
if(!ereg('^[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+'.'@'.'[-!#$%&\'*+\/0-9=?A-Z^_`a-z{|}~]+\.'.'[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+$'$_POST['email'])){
$erreur .= "La syntaxe de votre adresse e-mail n'est pas correcte.";
}
else {
$base = mysql_connect ('****', '****', '***');
mysql_select_db ('membre', $base);
$sql = 'SELECT id FROM membre WHERE login="'.mysql_real_escape_string($_POST['login']).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$nb = mysql_num_rows($req);
if ($nb == 0) {
$sql = 'INSERT INTO membre VALUES("", "'.mysql_real_escape_string($_POST['login']).'", "'.mysql_real_escape_string($_POST['email']).'", NOW(), "'.mysql_real_escape_string($_POST['ip']).'", "'.mysql_escape_string($_POST['pass']).'")';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
// on récupère l'id de notre nouveau membre
$id = mysql_insert_id();
session_start();
$_SESSION['login'] = $_POST['login'];
// on stocke cet id dans une variable de session
$_SESSION['id'] = $id;
header('Location: membre.php');
exit();
}
else {
$erreur .= '<font color="marron" size="3><b>Erreur</b></font><font color="red" size="3">Un membre possède déjà ce login.</font>';
}
}
}
else {
$erreur .= '<font color="marron" size="3><b>Erreur</b></font><font color="red" size="3">Au moins un des champs est vide.</font>';
}
}
?>
$erreur = " " au départ du script. Ensuite, pour chaque erreur rencontrée, $erreur .= "Texte de l'erreur" permet d'ajouter à la variable $erreur les explications des erreurs.
|
Admin
|
Bonjour,
essaye ce code, car il ne faut pas envoyer le formulaire si les deux mots de passe ne sont pas identiques:
<?php
if(isset($_POST['login']) && $_POST['email'] == 'Inscription')
{
if ((isset($_POST['login']) && (isset($_POST['login']) && !empty($_POST['email'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm'])))
{
$erreur='';
if ($_POST['pass'] != $_POST['pass_confirm'])
{
$erreur .= '<font color="marron" size="3><b>Erreur</b></font><font color="red" size="3">Les 2 mots de passe sont différents.';
}
else
{
if(!ereg('^[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+'.'@'.'[-!#$%&\'*+\/0-9=?A-Z^_`a-z{|}~]+\.'.'[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+$'$_POST['email']))
{
$erreur .= "La syntaxe de votre adresse e-mail n'est pas correcte.";
}
else
{
$base = mysql_connect ('****', '****', '***');
mysql_select_db ('membre', $base);
$sql = 'SELECT id FROM membre WHERE login="'.mysql_real_escape_string($_POST['login']).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$nb = mysql_num_rows($req);
if ($nb == 0)
{
$sql = 'INSERT INTO membre VALUES("", "'.mysql_real_escape_string($_POST['login']).'", "'.mysql_real_escape_string($_POST['email']).'", NOW(), "'.mysql_real_escape_string($_POST['ip']).'", "'.mysql_escape_string($_POST['pass']).'")';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
// on récupère l'id de notre nouveau membre
$id = mysql_insert_id();
session_start();
$_SESSION['login'] = $_POST['login'];
// on stocke cet id dans une variable de session
$_SESSION['id'] = $id;
header('Location: membre.php');
exit();
}
else
{
$erreur .= '<font color="marron" size="3><b>Erreur</b></font><font color="red" size="3">Un membre possède déjà ce login.</font>';
}
}
}
}
else
{
$erreur .= '<font color="marron" size="3><b>Erreur</b></font><font color="red" size="3">Au moins un des champs est vide.</font>';
}
}
?>
Cordialement
|
Celui qui sacrifie sa liberté pour sa sécurité, ne mérite aucune des deux !
Membre
|
Bonjour,
J'obtien un message d'erreur :
"Parse error: syntax error, unexpected '{' in /mnt/136/sdd/f/e/monsite/membres/inscription.php on line 5"
cordialement
|
Membre
|
Il manquait une parenthèse fermante à la fin de la ligne 4.
Essaie ceci :
<?php
if(isset($_POST['login']) && $_POST['email'] == 'Inscription')
{
if ((isset($_POST['login']) && (isset($_POST['login']) && !empty($_POST['email'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))))
{
$erreur='';
if ($_POST['pass'] != $_POST['pass_confirm'])
{
$erreur .= '<font color="marron" size="3><b>Erreur</b></font><font color="red" size="3">Les 2 mots de passe sont différents.';
}
else
{
if(!ereg('^[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+'.'@'.'[-!#$%&\'*+\/0-9=?A-Z^_`a-z{|}~]+\.'.'[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+$'$_POST['email']))
{
$erreur .= "La syntaxe de votre adresse e-mail n'est pas correcte.";
}
else
{
$base = mysql_connect ('****', '****', '***');
mysql_select_db ('membre', $base);
$sql = 'SELECT id FROM membre WHERE login="'.mysql_real_escape_string($_POST['login']).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$nb = mysql_num_rows($req);
if ($nb == 0)
{
$sql = 'INSERT INTO membre VALUES("", "'.mysql_real_escape_string($_POST['login']).'", "'.mysql_real_escape_string($_POST['email']).'", NOW(), "'.mysql_real_escape_string($_POST['ip']).'", "'.mysql_escape_string($_POST['pass']).'")';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
// on récupère l'id de notre nouveau membre
$id = mysql_insert_id();
session_start();
$_SESSION['login'] = $_POST['login'];
// on stocke cet id dans une variable de session
$_SESSION['id'] = $id;
header('Location: membre.php');
exit();
}
else
{
$erreur .= '<font color="marron" size="3><b>Erreur</b></font><font color="red" size="3">Un membre possède déjà ce login.</font>';
}
}
}
}
else
{
$erreur .= '<font color="marron" size="3><b>Erreur</b></font><font color="red" size="3">Au moins un des champs est vide.</font>';
}
}
?>
|
Celui qui sacrifie sa liberté pour sa sécurité, ne mérite aucune des deux !
Membre
|
Toujour rien !
Une erreur à la ligne 13
Parse error: syntax error, unexpected T_VARIABLE in /mnt/136/sdd/f/e/monsite/utilisateurs/inscription.php on line 13
|
Membre
|
Il manquait une virgule. Essaie ça :
<?php
if(isset($_POST['login']) && $_POST['email'] == 'Inscription')
{
if ((isset($_POST['login']) && (isset($_POST['login']) && !empty($_POST['email'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))))
{
$erreur='';
if ($_POST['pass'] != $_POST['pass_confirm'])
{
$erreur .= '<font color="marron" size="3><b>Erreur</b></font><font color="red" size="3">Les 2 mots de passe sont différents.';
}
else
{
if(!ereg('^[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+'.'@'.'[-!#$%&\'*+\/0-9=?A-Z^_`a-z{|}~]+\.'.'[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+$',$_POST['email']))
{
$erreur .= "La syntaxe de votre adresse e-mail n'est pas correcte.";
}
else
{
$base = mysql_connect ('****', '****', '***');
mysql_select_db ('membre', $base);
$sql = 'SELECT id FROM membre WHERE login="'.mysql_real_escape_string($_POST['login']).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$nb = mysql_num_rows($req);
if ($nb == 0)
{
$sql = 'INSERT INTO membre VALUES("", "'.mysql_real_escape_string($_POST['login']).'", "'.mysql_real_escape_string($_POST['email']).'", NOW(), "'.mysql_real_escape_string($_POST['ip']).'", "'.mysql_escape_string($_POST['pass']).'")';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
// on récupère l'id de notre nouveau membre
$id = mysql_insert_id();
session_start();
$_SESSION['login'] = $_POST['login'];
// on stocke cet id dans une variable de session
$_SESSION['id'] = $id;
header('Location: membre.php');
exit();
}
else
{
$erreur .= '<font color="marron" size="3><b>Erreur</b></font><font color="red" size="3">Un membre possède déjà ce login.</font>';
}
}
}
}
else
{
$erreur .= '<font color="marron" size="3><b>Erreur</b></font><font color="red" size="3">Au moins un des champs est vide.</font>';
}
}
?>
|
Pages: 1
|