Probleme avec le login

Probleme avec le login - PHP - Programmation

Marsh Posté le 30-05-2005 à 17:35:08    

Bonjour, j'ai un problème sur mon site, lors de la vérification du login une page d'erreur apparait:  
Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in /var/www/free.fr/d/2/horse.valley/connecter.php on line 33  
et la ligne 33 = session_start()
Je ne vois pas ou est mon erreur, ça marché avant pourtant.
Merci d'avance à ceux qui pourront trouver des solutions à mes problèmes.

Reply

Marsh Posté le 30-05-2005 à 17:35:08   

Reply

Marsh Posté le 30-05-2005 à 17:37:31    

Est-ce qu'il ne faudrait pas tout simplement un ";" à la fin de ta ligne?

Reply

Marsh Posté le 30-05-2005 à 17:57:57    

Heu escusez moi je me suis trompé en écrivant ><, il y a bien un ";" à la fin de ma ligne et pourtant cette erreur s'affiche.

Reply

Marsh Posté le 31-05-2005 à 10:26:55    

Balance nous tout le code,sinon c'est pas facile

Reply

Marsh Posté le 31-05-2005 à 11:00:22    

oui avec plus de code ça sera plus facile de t'aider

Reply

Marsh Posté le 31-05-2005 à 12:53:00    

<?
// on se connecte à MySQL
$db = mysql_connect('sql.free.fr', '...', '...');
 
// on sélectionne la base
mysql_select_db('horse_valley',$db);
 
// on envoie la requête
//$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
 
if(isset($_POST) && !empty($_POST['pseudo']) && !empty($_POST['pwd'])) {
  extract($_POST);
  // on recupère le password de la table qui correspond au login du visiteur
  $sql = "select mdp from membres where pseudo='".$pseudo."'";
  $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
 
  $data = mysql_fetch_assoc($req);
 
  if($data['mdp'] != $pwd) {
    echo '<p>Mauvais login / password. Merci de recommencer</p>';
    exit;
  }
  else {
    session_start();
    $_SESSION['pseudo'] = $pseudo;
     
    echo 'Vous etes bien logué';
 echo '<a href=espace_membre.php>Espace membre</a>';
    // 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>';
   exit;
}
?>
 
Voila et ça plante la

Reply

Marsh Posté le 31-05-2005 à 13:39:13    

Il manque une accolade fermante la :
 

Code :
  1. else {
  2.     session_start();
  3.     $_SESSION['pseudo'] = $pseudo;
  4.    
  5.     echo 'Vous etes bien logué';
  6. echo '<a href=espace_membre.php>Espace membre</a>';
  7.     // ici vous pouvez afficher un lien pour renvoyer
  8.     // vers la page d'accueil de votre espace membres
  9.   }
  10. } //<= rajoute celle la !     
  11. else {
  12.   echo '<p>Vous avez oublié de remplir un champ.</p>';
  13.    exit;
  14. }


 


---------------
http://www.alsacreations.com , http://www.openweb.eu.org. Mon CV : http://cv.roane-irkana.net/. Exemple à ne surtout pas suivre : www.worldinternet.be
Reply

Marsh Posté le 31-05-2005 à 22:09:21    

Hum voila j'ai rajouté l'accolade manquante. Il y a une autre erreur cependant: Vous avez oublié de remplir un chan
Je dois exaspérer les experts en php mais bon je débute.Je me commence à me demander si la méthode que j'ai employée est bonne ou si il y a une autre alternative.

Reply

Marsh Posté le 31-05-2005 à 22:10:04    

Un grand merci à tous ceux qui m'ont apporté leur aide. ;)

Reply

Marsh Posté le 02-06-2005 à 21:16:00    

Personne n'a de réponses à mon problèmes?

Reply

Marsh Posté le 02-06-2005 à 21:16:00   

Reply

Marsh Posté le 02-06-2005 à 21:31:13    

Redonne nous le code corrigé en utilisant les balises appropriées. Puis donne nous également le message d'erreur.

Reply

Marsh Posté le 03-06-2005 à 00:08:14    

J'ai essayé de faire autrement, j'ai redirigé vers une autre page.
<?
// on se connecte à MySQL
$db = mysql_connect('sql.free.fr', '...', '...');
 
// on sélectionne la base
mysql_select_db('horse_valley',$db);
 
// on envoie la requête
//$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
 
if(isset($_POST) && !empty($_POST['pseudo']) && !empty($_POST['pwd'])) {
  extract($_POST);
  // on recupère le password de la table qui correspond au login du visiteur
  $sql = "select mdp from membres where pseudo='".$pseudo."'";
  $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
 
  $data = mysql_fetch_assoc($req);
 
  if($data['mdp'] != $pwd) {
    echo '<p>Mauvais login / password. <p>Merci de recommencer</p>';
    exit;
  }
  else {  
  header("Location: verif.php" );
  }  
}  
else {
  echo '<p>Vous n êtes pas identifié(e).</p>';
   exit;
}
?>
 
ça redirige vers la page verif.php
<?php
 function session_start();
    $_SESSION['pseudo'] = $pseudo;
     
    echo 'Vous etes bien logué';
 echo '<a href=espace_membre.php>Espace membre</a>';
 ?>
 
et l'erreur produite est :  
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /var/www/free.fr/d/2/horse.valley/connecter.php:3) in /var/www/free.fr/d/2/horse.valley/connecter.php on line 3

Reply

Marsh Posté le 03-06-2005 à 03:48:19    

Déja, utilise les balises CODE quand tu postes un code. On aura de belles couleurs et ca sera plus facile à lire.
 
Ensuite, ton erreur est que session_start() doit être au début de ton code, avant tout envoie vers le navigateur!! C'est expliqué dans n'importe quel tutorial ça :o
 
http://php.developpez.com (pour apprendre le PHP).
;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed