Verification de "login" php
Résolu
Graig083
-
Autumn`Tears Messages postés 1247 Statut Membre -
Autumn`Tears Messages postés 1247 Statut Membre -
Bonjour,
Mes compétences en php sont assez limitées...
Je souhaiterais faire un livre d'or pour le site Internet de mon association mais je souhaiterais que seuls les adhérents de l'asso puissent y inscrire des articles.
J'ai déjà une base de données qui regroupe la liste des adhérents (champs = nom, prenom, email, adresse, etc) et je viens d'en créer une pour les messages du livre d'or (2 champs : id en autoincrement et contenu du message).
Mon formulaire html comporte 2 champs : email (pour vérification de l'appartenance aux adherents) et contenu du message
En revanche je n'arrive pas à configurer le code qui me permette de vérifier que la personne qui complète le formulaire est bien inscrite dans la base de données des adhérents avant d'enregistrer son message dans celle du livre d'or du style
Connexion à la base de données "adhérents"
verification que l'adresse mail saisie dans le champs "email" du formulaire apparait bien dans la base
si ok alors connexion a la base de données "livre d'or" et enregistrement des valeurs saisies dans le champs "message"
sinon message "votre adresse mail n'apparait pas dans la liste de nos adherents"
J'espère avoir été assez clair...
Merci d'avance de votre aide
Graig
Mes compétences en php sont assez limitées...
Je souhaiterais faire un livre d'or pour le site Internet de mon association mais je souhaiterais que seuls les adhérents de l'asso puissent y inscrire des articles.
J'ai déjà une base de données qui regroupe la liste des adhérents (champs = nom, prenom, email, adresse, etc) et je viens d'en créer une pour les messages du livre d'or (2 champs : id en autoincrement et contenu du message).
Mon formulaire html comporte 2 champs : email (pour vérification de l'appartenance aux adherents) et contenu du message
En revanche je n'arrive pas à configurer le code qui me permette de vérifier que la personne qui complète le formulaire est bien inscrite dans la base de données des adhérents avant d'enregistrer son message dans celle du livre d'or du style
Connexion à la base de données "adhérents"
verification que l'adresse mail saisie dans le champs "email" du formulaire apparait bien dans la base
si ok alors connexion a la base de données "livre d'or" et enregistrement des valeurs saisies dans le champs "message"
sinon message "votre adresse mail n'apparait pas dans la liste de nos adherents"
J'espère avoir été assez clair...
Merci d'avance de votre aide
Graig
A voir également:
- Verification de "login" php
- On me demande mon login - Forum Réseaux sociaux
- Qu'est ce qu'un "login" ✓ - Forum Webmastering
- Verification windows 11 - Guide
- Mon pc me demande mon login é mon mo de passe - Forum Windows
- Easy php - Télécharger - Divers Web & Internet
10 réponses
salut,
petite interrogation, ton formulaire apparait si l'utilisateur est connecté ou à tout le monde ?
si c'est à tout le monde alors inutile de faire la verification, il suffit de prendre l'e-mail d'un inscrit et de l'entrer pour pouvoir poster sous une autre identité que la sienne...
ce qu'il faudrais que tu fasses plutot c'est l'afficher que quand la personne est connectée, et ça logiquement tu as une vérification pour le savoir :)
petite interrogation, ton formulaire apparait si l'utilisateur est connecté ou à tout le monde ?
si c'est à tout le monde alors inutile de faire la verification, il suffit de prendre l'e-mail d'un inscrit et de l'entrer pour pouvoir poster sous une autre identité que la sienne...
ce qu'il faudrais que tu fasses plutot c'est l'afficher que quand la personne est connectée, et ça logiquement tu as une vérification pour le savoir :)
Salut,
$co=msql_connect('BDD','id', 'mdp');
mysql_select_db('taBase');
$verif=mysql_query("SELECT * FROM taTable WHERE champ_e_mail='.$_POST['email'].'");
if(mysql_num_rows($verif) != )
{
mysql_query("INSERT INTO 'livredor' ('contenu') VALUES ('.$_POST['message'].')");
header('location:livredor.php?message=ok'); //Redirige sur la page du livre d'or avec un message de validation (il faudra modifier ta page livredor pour ça)
}
else
{
header('location:livredor.php?message=err'); //Pour le message d'erreur
}
mysql_close($co);
Cordialement,
Adrien.
$co=msql_connect('BDD','id', 'mdp');
mysql_select_db('taBase');
$verif=mysql_query("SELECT * FROM taTable WHERE champ_e_mail='.$_POST['email'].'");
if(mysql_num_rows($verif) != )
{
mysql_query("INSERT INTO 'livredor' ('contenu') VALUES ('.$_POST['message'].')");
header('location:livredor.php?message=ok'); //Redirige sur la page du livre d'or avec un message de validation (il faudra modifier ta page livredor pour ça)
}
else
{
header('location:livredor.php?message=err'); //Pour le message d'erreur
}
mysql_close($co);
Cordialement,
Adrien.
merci pour la réponse rapide.
Et si je n'ai pas besoin qu'un message de validation apparaisse (la liste des messages du livre d'or apparaissent en dessous du formulaire en fait donc la personne voit tout de suite que son message a bien été enregistré)
Et si je n'ai pas besoin qu'un message de validation apparaisse (la liste des messages du livre d'or apparaissent en dessous du formulaire en fait donc la personne voit tout de suite que son message a bien été enregistré)
C'est juste de l'amélioration, si la personne ne voit pas de changement, elle peut se demander pourquoi mais le principal, c'est déjà d'arriver à faire ton traitement !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
En fait voila ce que j'ai a l'heure actuelle qui fonctionne bien mais sans verification préalable et que je voudrais adapter si possible...
<form method="post" action="livredor.php">
<p align="center">
<textarea id="livredor" name="contenu" rows="10" cols="60"></textarea><br />
<span id="carac_reste_textarea_1"></span> caractères restants.<br />
<script type="text/javascript">
maxlength_textarea('livredor','carac_reste_textarea_1',600);
</script>
<input type="submit" value="Soumettre" />
</p>
</form>
<?php
$db = mysql_connect('localhost', '***', '***');
mysql_select_db('***',$db);
if (isset($_POST['contenu']))
{
$contenu = $_POST['contenu'];
$contenu = nl2br($contenu);
mysql_query("INSERT INTO livredor VALUES('', '" . $contenu . "')");
}
?>
<p> </p>
<?php
$sql = 'SELECT * FROM livredor ORDER BY id';
$req = mysql_query($sql) or die('Impossible de se connecter au serveur
'.$sql.'
'.mysql_error());
while($data = mysql_fetch_array($req))
{
echo '<p>' . $data['contenu'] . '<hr size="1" style="color:#D1D1E1" /></p>';
}
mysql_close();
?>
<form method="post" action="livredor.php">
<p align="center">
<textarea id="livredor" name="contenu" rows="10" cols="60"></textarea><br />
<span id="carac_reste_textarea_1"></span> caractères restants.<br />
<script type="text/javascript">
maxlength_textarea('livredor','carac_reste_textarea_1',600);
</script>
<input type="submit" value="Soumettre" />
</p>
</form>
<?php
$db = mysql_connect('localhost', '***', '***');
mysql_select_db('***',$db);
if (isset($_POST['contenu']))
{
$contenu = $_POST['contenu'];
$contenu = nl2br($contenu);
mysql_query("INSERT INTO livredor VALUES('', '" . $contenu . "')");
}
?>
<p> </p>
<?php
$sql = 'SELECT * FROM livredor ORDER BY id';
$req = mysql_query($sql) or die('Impossible de se connecter au serveur
'.$sql.'
'.mysql_error());
while($data = mysql_fetch_array($req))
{
echo '<p>' . $data['contenu'] . '<hr size="1" style="color:#D1D1E1" /></p>';
}
mysql_close();
?>
Formulaire :
Email : <input type="text" name="email" id="email">
Côté PHP :
if (isset($_POST['contenu']))
{
$contenu = $_POST['contenu'];
$contenu = nl2br($contenu);
$resmysql_query("SELECT * FROM TableEmail WHERE email='.$_POST[''].'");
if(mysql_num_rows($res) != 0)
{
mysql_query("INSERT INTO livredor VALUES('', '" . $contenu . "')");
}
}
Email : <input type="text" name="email" id="email">
Côté PHP :
if (isset($_POST['contenu']))
{
$contenu = $_POST['contenu'];
$contenu = nl2br($contenu);
$resmysql_query("SELECT * FROM TableEmail WHERE email='.$_POST[''].'");
if(mysql_num_rows($res) != 0)
{
mysql_query("INSERT INTO livredor VALUES('', '" . $contenu . "')");
}
}
J'ai un message d'erreur
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in F:\inetpub\vhosts\***.fr\httpdocs\livredor.php on line 144
la ligne 144 etant :
$resmysql_query("SELECT * FROM adherents WHERE mail='.$_POST['mail'].'");
pourtant la base s'appelle bien "adherents" et le champs "mail"...
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in F:\inetpub\vhosts\***.fr\httpdocs\livredor.php on line 144
la ligne 144 etant :
$resmysql_query("SELECT * FROM adherents WHERE mail='.$_POST['mail'].'");
pourtant la base s'appelle bien "adherents" et le champs "mail"...
Où ai-je la tête... J'avais oublié un morceau !
$res=mysql_query("SELECT * FROM adherents WHERE mail='.$_POST['email'].'");
$res=mysql_query("SELECT * FROM adherents WHERE mail='.$_POST['email'].'");
je suis desolé ça ne fonctionne tjs pas, il y a tjs le même message d'erreur
j'ai essayé
$res=mysql_query("SELECT * FROM adherents WHERE mail=" . $mail . "");
et la page s'affiche mais il y a un nouveau mesage d'erreur quand je fais un test de saisie
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in F:\inetpub\vhosts\***.fr\httpdocs\livredor.php on line 146
la ligne 146 etant
if(mysql_num_rows($res) != 0)
j'ai essayé
$res=mysql_query("SELECT * FROM adherents WHERE mail=" . $mail . "");
et la page s'affiche mais il y a un nouveau mesage d'erreur quand je fais un test de saisie
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in F:\inetpub\vhosts\***.fr\httpdocs\livredor.php on line 146
la ligne 146 etant
if(mysql_num_rows($res) != 0)
En fait il reste une erreur à la ligne 145, question de guillemets !
$mail=$_POST['email'];
$res=mysql_query("SELECT * FROM adherents WHERE mail='.$mail."'");
$mail=$_POST['email'];
$res=mysql_query("SELECT * FROM adherents WHERE mail='.$mail."'");
c'est parfait j'ai rectifié ça fonctionne il ne reste qu'un détail c'est que je voudrais juste que si l'adresse mail n'est pas dans la base adhérent cela affiche le message "désolé votre email n'apparaît pas dans la liste... blablabla"