Au secour script qui plante

Résolu
bretonm2004 Messages postés 320 Date d'inscription   Statut Membre Dernière intervention   -  
nico7382 Messages postés 287 Statut Membre -
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
Configuration: Windows Vista Internet Explorer 7.0

9 réponses

  1. nico7382 Messages postés 287 Statut Membre 50
     
    Salut,

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

    il me semble qu'il manque une parenthèse non?
    1
  2. nico7382 Messages postés 287 Statut Membre 50
     
    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
  3. jmg78
     
    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
  4. bretonm2004 Messages postés 320 Date d'inscription   Statut Membre Dernière intervention   2
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. bretonm2004 Messages postés 320 Date d'inscription   Statut Membre Dernière intervention   2
     
    merci ca a regler le probleme mais il me renvoi toujours a une erreur est survenue
    0
  7. bretonm2004 Messages postés 320 Date d'inscription   Statut Membre Dernière intervention   2
     
    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
  8. nico7382 Messages postés 287 Statut Membre 50
     
    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
  9. bretonm2004 Messages postés 320 Date d'inscription   Statut Membre Dernière intervention   2
     
    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
  10. nico7382 Messages postés 287 Statut Membre 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