PHP probleme

Résolu
Utilisateur anonyme -  
 Utilisateur anonyme -
bonjour voila j'ai crée un page login avec ce code la:

http://img15.hostingpics.net/pics/677519Capture.png

http://img15.hostingpics.net/pics/640939Capture2.png

mais volia dedans il y a une erreur mais je n'arrive pas a la trouvé voila ce que sa fait quand je me connecte avec un vrai id :

http://img15.hostingpics.net/pics/139699Capture.png

svp aidez moi :-( déjà sue je suis pas fort ...

3 réponses

  1. philmtjn
     
    Pourrais-tu mettre ton code en mode texte ?
    Je vais essayer de t'aider
    0
    1. Utilisateur anonyme
       
      d'accord
      0
    2. Utilisateur anonyme
       
      register.php ( page d'inscription )

      <meta charset="utf-8">

      <?php

      if(isset($_POST['submit']))
      {

      $username = htmlspecialchars(trim($_POST['username']));
      $password = htmlspecialchars(trim($_POST['password']));
      $repeatpassword = htmlspecialchars(trim($_POST['repeatpassword']));

      if($username&&$password&&$repeatpassword)
      {
      if(strlen($username)>=4)
      {
      if(strlen($password)>=6)
      {
      if($password==$repeatpassword)
      {
      $password = md5($password);

      mysql_connect("monsteur-tuto.fr.mysql", "monster_tuto_fr", "");
      mysql_select_db("monster_tuto_fr", $db);;

      $query = mysql_query("

      INSERT INTO users VALUES ('','$username','$password')

      ");

      die('Inscription terminée, vous pouvez vous <a href="login.php">connecter</a>');

      }else echo "Les mots de passe ne sont pas identiques !";
      }else echo "Le mot de passe est trop court !";
      }else echo "Le nom d'utilisateur est trop court !";
      }else echo "Veuillez sasir tous les champs !";
      }
      ?>

      <title>Inscription</title>

      <h1>Inscription</h1>
      <form method="post" action="register.php">
      <p>Votre nom d'utilisateur</p>
      <input type="text" name="username">
      <p>Votre Mot de passe</p>
      <input type="password" name="password">
      <p>Répetez votre mot de passe</p>
      <input type="password" name="repeatpassword"><br><br>
      <input type="submit" name="submit" value="Valider">


      </form>
      <a href="login.php">Je possède déjà un compte</a>


      login.php ( page de conexion )

      <?php

      session_start();

      if(isset($_POST['submit']))
      {

      $pseudo = htmlspecialchars(trim($_POST['pseudo']));
      $password = htmlspecialchars(trim($_POST['password']));

      if(empty($pseudo))
      {
      echo "Veuillez sasir votre pseudo<br/>";
      }else if(empty($password))
      {
      echo "Veuillez sasir votre pseudo";
      }else{

      $db=mysql_connect("vmonsteur-tuto.fr.mysql", "monster-tuto.fr", "mot de passe");
      mysql_select_db("monster_tuto_fr", $db);

      $password = md5($password);

      $login = mysql_query("SELECT * FROM users WHERE username='$pseudo' AND password='$password'");

      $rows = mysql_num_rows($login);

      if($rows == 1)
      {


      $_SESSION['pseudo'] = $pseudo;

      header ('Location:membre.php');

      }else echo "Nom d'utilisateur ou mot de passe incorrect";

      }
      }

      ?>

      <h1>Conexion</h1>


      <form method="post" action="">

      <p>Votre pseudo</p>
      <input type="text" name="pseudo" /><br/>

      <p>Votre mot de passe</p>
      <input type="password" name="password" /><br/><br/>

      <input type="submit" name="submit" value="Se connecter" />

      </form>

      <a href="register.php">Pas encore membre</a>

      ( deconexion redirection vers login )

      <?php

      session_start();

      session_destroy();

      header('Location:login.php');


      ?>

      membre.php ( espace membre )


      <?php

      session_start();

      if(isset($_SESSION['pseudo']))
      {
      echo "Bonjour ".$_SESSION['pseudo'];
      ?>
      <meta charset="utf-8">

      <br/><br/><a href="logout.php">Me déconnecter</a>

      <?php
      }else{
      header('Location:login.php');
      }


      ?>
      0
  2. RobinZS Messages postés 6 Statut Membre
     
    Salut,
    Ya pas mal d'erreurs...
    Déjà le plus flagrant dans ta requête c'est la concaténation des variables qui est mauvaise.
    Voilà un exemple avec la variable $prenom, dans un echo double quotes
    echo "Bonjour" .$prenom. " tu vas bien ?";
    De plus, mysql_ est obsolète comme interface d'accès à un bdd depuis php, tourne toi vers PDO
    0
  3. ElementW Messages postés 5690 Statut Contributeur 1 293
     
    Salut,
    ici mysql_num_rows se plaint de recevoir un booléen alors qu'il veut une ressource.
    La doc de mysql_query précise que le seul moment où mysql_query renvoie un booléen, c'est FALSE et ça veut dire qu'il y a eu un problème.
    Problème -> on intercepte:
    $login = mysql_query("...");
    if (!$login) {
        die('Requête invalide : ' . mysql_error());
    }
    mysql_error() renvoie une description de l'erreur, et die() stoppe l'exécution de la page et affiche le message qu'on lui donne.

    À coté de ça, RobinZS a raison: les fonctions mysql_* sont obsolètes, vaut mieux utiliser PDO. Le hic, c'est que certains hébergeurs (free.fr je te regarde) ne fournissent pas PDO.
    0
    1. Utilisateur anonyme
       
      le probleme c'est que je suis heberger sous one.com est il y a que phpmyadmin :-(
      donc je ppensait a une idée un peu folle mais qui pourrait peut etre marcher :

      au lieu d'utiliser phpmyadmin pourquoi pas ecrire tout dans un fichier texte a la racine du serveur ou alors comment metre pdo ?

      PS: désoler de ne pas vous avoir répondue plus tôt car j'ai eu peur que personne ne me réponde
      ;-)
      0
    2. ElementW Messages postés 5690 Statut Contributeur 1 293
       
      PDO est une extension de PHP, pas une application comme phpMyAdmin. Pour voir les extensions, créé une page avec comme contenu:
      <?php phpinfo(); ?>
      Puis va sur cette page avec ton navigateur; un Ctrl+F te permettra de chercher du texte, ici "PDO".
      Correction: en fait free.fr fournit PDO, mais seulement si l'on active PHP5.
      0
    3. Utilisateur anonyme
       
      j'ai besoin d'utiliser wamp en localhost pour ouvrir la page dans le navigateur ?
      0
    4. ElementW Messages postés 5690 Statut Contributeur 1 293
       
      Le phpinfo() renverra les infos de PHP sur le serveur sur lequel il tourne. Ton installation wamp ne reflète pas forcément (dans 99.999% des cas d'ailleurs) la configuation de ton hébergeur.
      Page donc à consulter sur ton site en ligne.
      0
    5. Utilisateur anonyme
       
      d'accord mais après que j'aurait vue les extension j'en fait quoi ?
      0