Erreur d'affichage//outils de connexion
Résolu
clemenceLes
Messages postés
54
Date d'inscription
Statut
Membre
Dernière intervention
-
clemenceLes Messages postés 54 Date d'inscription Statut Membre Dernière intervention -
clemenceLes Messages postés 54 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je tien tout d'abord a vous dire q je suis débutante en php.
Je souhaiterai mettre en place un outil de connexion sur mon site :
voici mon formulaire :
<form action="accueil2.php" method="post" name="connexion">
email :<input name="email" type="text" size="30" />
<br/>
mot de passe : <input name="mdp" type="password" size="20" />
<br/>
<input name="ok" type="submit" value="ok" />
</form>
voici mon code phph sur la page accueil2.php :
<?php
//si les champs email et mot de passe son coorecttement rempli
if(isset($_POST) && !empty($_POST['email']) && !empty($_POST['mdp'])) {
//on extrait les données
extract($_POST);
// on recupère le password de la table qui correspond a l'email du visiteur
$sql = "select mdp from client where email='".$email."'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_assoc($req);
//si le mot de passe de la table ne correspond pas a celui tapé par le visiteur
if($data['mdp'] != $mdp) {
echo '<p>Mauvais login / password. Merci de recommencer</p>';
include('accueil.php'); // On inclut le formulaire d'identification
exit;
}
else {
//on connecte l'utilisateur sur son compte
session_start();
$_SESSION['email'] = $email;
$SQLcivilite = "SELECT civilite FROM client WHERE email LIKE ".$email."";
$REQcivilite = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
echo 'Bonjour $civilite $nom';
// ici vous pouvez afficher un lien pour renvoyer
// vers la page d'accueil de votre espace membres
}
}
else {
echo '<p>Vous avez oublié de remplir un champ.</p>';
include('accueil.php'); // On inclut le formulaire d'identification
exit;
}
?>
Je rempli donc mes champ, j'éxecute et voila ce que sa m'affiche :
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at c:\documents and settings\clemence\bureau\projet tuteur�\sitepatapain\accueil2.php:46) in c:\documents and settings\clemence\bureau\projet tuteur�\sitepatapain\accueil2.php on line 64
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\documents and settings\clemence\bureau\projet tuteur�\sitepatapain\accueil2.php:46) in c:\documents and settings\clemence\bureau\projet tuteur�\sitepatapain\accueil2.php on line 64
Bonjour $civilite $nom
si vou pouviez m'aider svp jss en pleine galère lol!!!
Je tien tout d'abord a vous dire q je suis débutante en php.
Je souhaiterai mettre en place un outil de connexion sur mon site :
voici mon formulaire :
<form action="accueil2.php" method="post" name="connexion">
email :<input name="email" type="text" size="30" />
<br/>
mot de passe : <input name="mdp" type="password" size="20" />
<br/>
<input name="ok" type="submit" value="ok" />
</form>
voici mon code phph sur la page accueil2.php :
<?php
//si les champs email et mot de passe son coorecttement rempli
if(isset($_POST) && !empty($_POST['email']) && !empty($_POST['mdp'])) {
//on extrait les données
extract($_POST);
// on recupère le password de la table qui correspond a l'email du visiteur
$sql = "select mdp from client where email='".$email."'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_assoc($req);
//si le mot de passe de la table ne correspond pas a celui tapé par le visiteur
if($data['mdp'] != $mdp) {
echo '<p>Mauvais login / password. Merci de recommencer</p>';
include('accueil.php'); // On inclut le formulaire d'identification
exit;
}
else {
//on connecte l'utilisateur sur son compte
session_start();
$_SESSION['email'] = $email;
$SQLcivilite = "SELECT civilite FROM client WHERE email LIKE ".$email."";
$REQcivilite = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
echo 'Bonjour $civilite $nom';
// ici vous pouvez afficher un lien pour renvoyer
// vers la page d'accueil de votre espace membres
}
}
else {
echo '<p>Vous avez oublié de remplir un champ.</p>';
include('accueil.php'); // On inclut le formulaire d'identification
exit;
}
?>
Je rempli donc mes champ, j'éxecute et voila ce que sa m'affiche :
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at c:\documents and settings\clemence\bureau\projet tuteur�\sitepatapain\accueil2.php:46) in c:\documents and settings\clemence\bureau\projet tuteur�\sitepatapain\accueil2.php on line 64
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\documents and settings\clemence\bureau\projet tuteur�\sitepatapain\accueil2.php:46) in c:\documents and settings\clemence\bureau\projet tuteur�\sitepatapain\accueil2.php on line 64
Bonjour $civilite $nom
si vou pouviez m'aider svp jss en pleine galère lol!!!
A voir également:
- Erreur d'affichage//outils de connexion
- Gmail connexion - Guide
- Affichage double ecran - Guide
- Site inaccessible n'autorise pas la connexion - Guide
- Windows 11 affichage classique - Guide
- Barre d'outils windows 10 - Guide
2 réponses
Il ne faut aucun code html ou php avant le session_satrt(); il faut le placer tout en haut de ta page en php
wahou, je comprends pas ta syntaxe sql ^^
moi j'utilise plutot :
$req=mysql_query("ma requete sql);
$row=mysql_fetch_array($req);
et après tu récupère tes données dans les $row['donnees'];
par exemple $row['mail'];
sinon si tes requêtes marchent déjà, je crois que tu as un problème genre ici:
-->echo 'Bonjour $civilite $nom';
ça doit afficher Bonjour $civilite $nom
soit tu choisis : echo "Bonjour $civilite $nom"; ->la ç_a marche
soit tu choisis echo 'Bonjour '.$civilite.' '.$nom'.';
mais vu le message d'erreur, ça doit être la façon de récupérer les données qui ne fonctionne pas bien
moi j'utilise plutot :
$req=mysql_query("ma requete sql);
$row=mysql_fetch_array($req);
et après tu récupère tes données dans les $row['donnees'];
par exemple $row['mail'];
sinon si tes requêtes marchent déjà, je crois que tu as un problème genre ici:
-->echo 'Bonjour $civilite $nom';
ça doit afficher Bonjour $civilite $nom
soit tu choisis : echo "Bonjour $civilite $nom"; ->la ç_a marche
soit tu choisis echo 'Bonjour '.$civilite.' '.$nom'.';
mais vu le message d'erreur, ça doit être la façon de récupérer les données qui ne fonctionne pas bien
javai pas penser a mettre mes données dans un tableau mais c vrai que sa marche impecable!!!!
je vous met le code que j'ai modifier :
$SQL = "SELECT civilite, nom FROM client WHERE email='".$email."'";
$REQ = mysql_query($SQL) or die('Erreur SQL !<br>'.$SQL.'<br>'.mysql_error());
$row=mysql_fetch_array($REQ);
echo "Bonjour ".$row['civilite']." ".$row['nom']."";
merci bcp walko!!!!!
je vous met le code que j'ai modifier :
$SQL = "SELECT civilite, nom FROM client WHERE email='".$email."'";
$REQ = mysql_query($SQL) or die('Erreur SQL !<br>'.$SQL.'<br>'.mysql_error());
$row=mysql_fetch_array($REQ);
echo "Bonjour ".$row['civilite']." ".$row['nom']."";
merci bcp walko!!!!!
je pense approcher du but mai ya encore une petite erreur qui s'affiche si tu savait dou sa pourrai venir?
Bonjour Resource id #6 Resource id #7