Au secour script qui plante

Résolu/Fermé
bretonm2004 Messages postés 319 Date d'inscription vendredi 9 mai 2008 Statut Membre Dernière intervention 30 août 2013 - 23 déc. 2009 à 01:48
nico7382 Messages postés 279 Date d'inscription lundi 6 juin 2005 Statut Membre Dernière intervention 22 décembre 2010 - 23 déc. 2009 à 16:50
Bonjour,

j ai un erreur Parse error: syntax error, unexpected T_VARIABLE in ..... on line 21

<!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-15" />
<meta http-equiv="content-language" content="fr" />
</head>

<body>
<?php
// On démarre la session
session_start();
$loginOK = false; // cf Astuce

// On n'effectue les traitement qu'à la condition que
// les informations aient été effectivement postées
if ( isset($_POST) && (!empty($_POST['user'])) && (!empty($_POST['password']))



//connection a la bese de données
$link = mysql_connect('localhost', 'user', 'password') or die('impossible de se connecter à la base de données');
if($link)
$db = mysql_select_db("toit9356_user", $link) or die('impossible d\'accéder à la base de données');





extract($_POST); // pour creer $user $password

// On va chercher le mot de passe dans (user) la table qui contient les informations
$sql = "SELECT user, password FROM user WHERE user = '".addslashes($user)."'" ;
$req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);

// On vérifie que l'utilisateur existe bien
if (mysql_num_rows($req) > 0) {

while ($donnees = mysql_fetch_array($req)) // On fait une boucle pour lister les résultats dans le cas ou ilya
// deux personne qui ont le mm nom et le mm prenom et des mdp differentes
{
// On vérifie que son mot de passe est correct
if ($password == $donnees ['password']) {
$loginOK = true;
}
}
}

// Si le login a été validé on met les données en sessions
if ($loginOK) {
echo "identification reussite";
sleep(3);

header('Location: www.toitio.com'); //tu doit présiser la page ou on doit etre rediriger
}
else {
echo 'Une erreur est survenue, veuillez réessayer !';
}
?>

</body>
</html>

merci d avance
A voir également:

9 réponses

nico7382 Messages postés 279 Date d'inscription lundi 6 juin 2005 Statut Membre Dernière intervention 22 décembre 2010 50
23 déc. 2009 à 13:34
Salut,


if ( isset($_POST) && (!empty($_POST['user'])) && (!empty($_POST['password']))

il me semble qu'il manque une parenthèse non?
1
nico7382 Messages postés 279 Date d'inscription lundi 6 juin 2005 Statut Membre Dernière intervention 22 décembre 2010 50
23 déc. 2009 à 15:42
la déclaration que tu fait avec session_start() est incompatible avec ton code.

Il faut definir l'utilisation des session avant d'envoyer le header
en gros :
remplacer :

<!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-15" />
<meta http-equiv="content-language" content="fr" />
</head>
par =>

<?php
session_start();
?>
<!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-15" />
<meta http-equiv="content-language" content="fr" />
</head>
1
Utilisateur anonyme
23 déc. 2009 à 13:20
un conseil quand un script te donne une erreur à une ligne donnée il faut nous donner le script intégral
ou au moins jusqu à la ligne concernée tu le zippes et tu le mets sur un site quelconque
en changeant son extension si c'est du PHP afin qu'on puisse t aider
0
bretonm2004 Messages postés 319 Date d'inscription vendredi 9 mai 2008 Statut Membre Dernière intervention 30 août 2013 2
23 déc. 2009 à 15:31
j ai ajouter la parentese et ca me donne une autre rreur maintenant

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/toit9356/public_html/acces.php:9) in /home/toit9356/public_html/acces.php on line 11

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/toit9356/public_html/acces.php:9) in /home/toit9356/public_html/acces.php on line 11
Une erreur est survenue, veuillez réessayer !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bretonm2004 Messages postés 319 Date d'inscription vendredi 9 mai 2008 Statut Membre Dernière intervention 30 août 2013 2
23 déc. 2009 à 15:58
merci ca a regler le probleme mais il me renvoi toujours a une erreur est survenue
0
bretonm2004 Messages postés 319 Date d'inscription vendredi 9 mai 2008 Statut Membre Dernière intervention 30 août 2013 2
23 déc. 2009 à 16:03
bon j ai regler le probleme mais quand je me log il me fait un erreur

Warning: Cannot modify header information - headers already sent by (output started at /home/toit9356/public_html/acces.php:10) in /home/toit9356/public_html/acces.php on line 51

voila la ligne 51

header('Location: www.toitio.com'); //tu doit présiser la page ou on doit etre rediriger
0
nico7382 Messages postés 279 Date d'inscription lundi 6 juin 2005 Statut Membre Dernière intervention 22 décembre 2010 50
23 déc. 2009 à 16:36
ok,

je pense qu'il faudrait que tu apprennes à utiliser les SESSIONS car tous les problèmes viennent de là;

session_start ne peut être définit qu'une fois

Or, je pense que dans ta page access.php, il doit y avoir redefinition du session_start()
0
bretonm2004 Messages postés 319 Date d'inscription vendredi 9 mai 2008 Statut Membre Dernière intervention 30 août 2013 2
23 déc. 2009 à 16:40
qu est ce que tu veut dire par la je ne comprend pas mon sessionstart est juste une foismon script marche quand je n entre pas les boons user il me dit qu il a un erreur mais c est quand je met les bons identifiants que ca me fait cette erreur
0
nico7382 Messages postés 279 Date d'inscription lundi 6 juin 2005 Statut Membre Dernière intervention 22 décembre 2010 50
23 déc. 2009 à 16:50
je veux simplement dire que tu postes à la volée sans réfléchir.
Le premier poste pour une paranthese, le deuxieme pour une decalration au mauvais endroit et ensuite ca fonctionne mais c'est à une autre page que ca plante.

donc voilà je t'ai donné la solution, mais tu ne l'a pas lu.

Réexplcation:

tu as ton formulaire.
premiere ligne déclaration de la session
ensuite si les paramètre de ton formulaire son ok, tu ouvres avec header();

sauf que dans cette nouvelle page, tu refaits une declaration de session je pense, ou redefinition du header, donc ca plante.
0