creer des sessions utilisateurs

Eléphant du PHP | 450 Messages

30 sept. 2005, 19:12

Bonjour tout le monde, (enfin tous ceu que j'ai pas deja embeter aujourd'hui :) lol )

Ne connaissant guere de chose sur les sessions , j'ais trouver un tutoriels en ligne et je l'ais suivit afin d'apprendre mais je suis tombé sur un petit probleme.

En effet le tutoriels est fait a partir de php5 et moi etant chez free je crois que je suis en php 4 nan??

Dons quand je lance mes pages je tombe sur des erreures ..

Voici le code de la page verif.php et les erreures qui s'y reporte

<?php 
// initialisation de la session 
session_start() ; 

// si on a reçu les données d'un formulaire : 
if ( isset( $_POST['pseudo'] ) && isset( $_POST['motdepasse'] ) ) { 

  // on les récupère 
  $nom = $_POST['pseudo'] ; 
  $motdepasse = $_POST['motdepasse'] ;

  Require("verification.php");


  // on teste si le mot de passe est valide : 
  if ( verification( $nom, $motdepasse ) ) { 

    // on sauvegarde donc son nom dans la session 
    $_SESSION['nom'] = $nom ; 
    $message = 'vous êtes correctement identifié' ;
  } else {
    // sinon on avertit l'utilisateur : 
    $message = 'Mauvais mot de passe' ; 
    $message .='<a href="auth.php">retour</a>' ; 
  } 
} else { 
  // un des champs n'est pas rempli 
  $message = 'le login ou le mot de passe est vide' ; 
  $message .='<a href="auth.php">retour</a>' ; 
} 
?>
<html>
<head><title>Identification</title></head>
<body><p>
<?php echo $message ?>
</p></body> 
</html>
la fonction verrification ()
<?php 
function verification($nom,$pass){ 
  // Connexion SQL 
  $dbhote = 'sql.free.fr';
  $dbuser = '********';
  $dbpass = '*****';
  $dbbase = '********';
  $link = mysql_connect($dbhote,$dbuser,$dbpass); 
  mysql_select_db($dbbase,$link); 

  // Création de la requête SQL 
  $nom_sql = mysql_real_escape_string($nom) ; 
  $pass_sql = mysql_real_escape_string($pass) ; 
  $sql ="SELECT * FROM util "
        . " WHERE user_name='$nom_sql' AND password='$pass_sql'" ; 

  // Exécution de la requête SQL
  $result = mysql_query($sql,$link); 
  if(mysql_num_rows($result)>0){ 
    return TRUE; 
  }else{ 
  return FALSE; 
  } 
} 
?>
et les erreures qui s'y reportent

Code : Tout sélectionner

Warning: session_start(): open(/var/www/free.fr/9/3/felofastouf/sessions/sess_51c92a4b23776128e1dfb2e4ed22e962, O_RDWR) failed: No such file or directory (2) in /var/www/free.fr/9/3/felofastouf/verif.php on line 3 Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /var/www/free.fr/9/3/felofastouf/verif.php:3) in /var/www/free.fr/9/3/felofastouf/verif.php on line 3 Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /var/www/free.fr/9/3/felofastouf/verif.php:3) in /var/www/free.fr/9/3/felofastouf/verif.php on line 3 Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/free.fr/9/3/felofastouf/verification.php on line 19 Mauvais mot de passeretour Warning: Unknown(): open(/var/www/free.fr/9/3/felofastouf/sessions/sess_51c92a4b23776128e1dfb2e4ed22e962, O_RDWR) failed: No such file or directory (2) in Unknown on line 0 Warning: Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/www/free.fr/9/3/felofastouf/sessions) in Unknown on line 0
[/php]

En gros si quelqun peut bien me confirmer que free est en php 4...

et sinon bah si vous pouviez m'aider , je serais pas contre
Modifié en dernier par castelli le 30 sept. 2005, 19:20, modifié 1 fois.
Alone in the dark , I smile :D

Mammouth du PHP | 1311 Messages

30 sept. 2005, 19:16

bon vu que tu est chez free a tu cree un dossier sessions a la racine de domane web??

Mammouth du PHP | 19672 Messages

30 sept. 2005, 19:18

Deux choses : ton problème de session chez free est normal: crée à la racine de ton site un répertoire vide nommé "sessions", c'est tout

La seconde chose, PHP5 fonctionne chez free, mais il faut des extension de fichier .php5 : illustration
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 1311 Messages

30 sept. 2005, 19:21

chez free on a php5 j'ai lancer un phpinfo et il m'a indiquer php4.3.3 hier
:?: :?:

Mammouth du PHP | 19672 Messages

30 sept. 2005, 19:24

Tiens, regarde toi-même :)
Observe l'extension de fichier par exemple, c'est important.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 1311 Messages

30 sept. 2005, 19:26

y a pas de probleme avec ton lien mais phpinfo devrai me l'indiqué non???

Eléphant du PHP | 450 Messages

30 sept. 2005, 19:27

C'est bon j'ais creer le repertoire a la racine et sa ma supprimer la plus part de mes erreures , il m'en reste seulement une

Code : Tout sélectionner

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/free.fr/9/3/felofastouf/verification.php on line 19
la ligne 19 correspond au if de la fin
function verification($nom,$pass){ 
  // Connexion SQL 
  $dbhote = ******;
  $dbuser = '*****';
  $dbpass = **';
  $dbbase = '******;
  $link = mysql_connect($dbhote,$dbuser,$dbpass); 
  mysql_select_db($dbbase,$link); 

  // Création de la requête SQL 
  $nom_sql = mysql_real_escape_string($nom) ; 
  $pass_sql = mysql_real_escape_string($pass) ; 
  $sql ="SELECT * FROM util "
        . " WHERE user_name='$nom_sql' AND password='$pass_sql'" ; 

  // Exécution de la requête SQL
  $result = mysql_query($sql,$link); 
  if(mysql_num_rows($result)>0){ 
    return TRUE;
  }else{ 
  return FALSE; 
  } 
} 
sinon j'ais essailler mettre la page en php5 et sa a rien changer
:)
Alone in the dark , I smile :D

Mammouth du PHP | 19672 Messages

30 sept. 2005, 19:28

Je l'ai mentionné pourtant deux fois : il faut une extension de fichier ".php5" : si tu mets ".php" tout court, ce sera PHP4.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 1311 Messages

30 sept. 2005, 19:31

je suis pas sur que ta requete soit valide fait en un echo
 $sql ='SELECT * FROM util ';
        $sql.= ' WHERE user_name="'.$nom_sql.'" AND password="'.$pass_sql.'"';

Eléphant du PHP | 450 Messages

30 sept. 2005, 19:35

J'ai essaillez pour l'extension php5 (jais mis le fichier verif.php5 et la fonction verification en php5 )
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/free.fr/9/3/felofastouf/verification.php5 on line 19
sinon l'echo me donne la bonne chose enfin il me semble
SELECT * FROM util WHERE user_name='iphicrate' AND password='castelli'
ps : le resultat devrait etre bon mais il me retourne qu'il est faut (jai verifier le pseudo et le passe dans la bdd pr etre sur : /
Alone in the dark , I smile :D

Mammouth du PHP | 19672 Messages

30 sept. 2005, 19:38

Copie ta requête et vas ensuite sur phpMyAdmin de free.fr, loggue toi et essaye directement ta requête générée dans phpMyAdmin
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 450 Messages

30 sept. 2005, 19:45

humm

Comme l'on dit il suffit generalement de reflechir pour comprendre son erreur et miracle mon cerveau vient de se mettre en marche :)

J'ais compris ce qui n'allait pas en faite dans cette requete:

SELECT * FROM util WHERE user_name='iphicrate' AND password='castelli'

c'est qu'en faite dans ma base de donnée user_name = pseudo

(vu que c'est un tuto j'ais pas tout changer )

je m'escuze d'avoir deranger tout le monde et merci :)

lol :lol:
Alone in the dark , I smile :D