Problème Site web - Inscription [PHP]

Résolu/Fermé
Br8314 Messages postés 44 Date d'inscription samedi 25 septembre 2010 Statut Membre Dernière intervention 27 mars 2012 - 8 mars 2011 à 11:58
chico200987 Messages postés 791 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 30 juillet 2018 - 8 mars 2011 à 14:56
Bonjour,

Hier soir j'ai fais mon code pour la connexion des membres sur mon site web, donc sur la page d'index, là ou les gens se connecte j'ai fais un bout de php.

Je boss en local.

J'ai pas trouvé d'ou viens mon erreur :/ Le message d'erreur de mon navigateur est:

Cette page Web est inaccessible.
Il se peut que la page Web à l'adresse http://gar/pages/index/home.php soit temporairement inaccessible ou qu'elle ait été déplacée de façon permanente à une autre adresse Web.
Erreur 101 (net::ERR_CONNECTION_RESET) : Erreur inconnue


J'essayerais de me dépatouiller se soir après le boulot mais j'ai déjà passé pas mal d'heure hier sans résultats. C'est peut être tout bête ou j'ai pas fait comme il faut:

Si quelqu'un à une solution, je suis preneur.

Merci

Voici mon code en tête de ma page de connexion :

<?php
// Redirige l'utilisateur s'il est déjà identifié
if(isset($_COOKIE["ID_UTILISATEUR"]))
{
     header("Location: home.php");
}
else
{
// Une fois le formulaire envoyé
if(isset($_POST["BT_Envoyer"]))
{
    // Connexion à la base de données
    include ('../../mySQL/connexionMySQL.php');
    // Sélection de l'utilisateur concerné
    $result = mysql_query("
        SELECT ID_Utilisateur, Nom_Utilisateur, Mot_de_Passe, Compte_Active
        FROM Comptes_Utilisateurs
        WHERE Nom_Utilisateur = '" . $_POST["TB_Nom_Utilisateur"] . "'
    ");
    // Si une erreur survient
    if(!$result)
    {
        $message = "Une erreur est survenue lors de la tentative de connexion";
    }
    else
    {
      // Si aucun utilisateur n'a été trouvé
      if(mysql_num_rows($result) == 0)
      {
           $message = "Le nom d'utilisateur " . $_POST["TB_Nom_Utilisateur"] . " n'existe pas";
      }
      else
      {
      // Récupération des données
      $row = mysql_fetch_array($result);
      // Si le compte n'a pas été activé
      if($row["Compte_Active"] == 0)
      {
          $message = "Votre compte utilisateur n'a pas été activé";
      }
      else
      {
        // Vérification du mot de passe
        if(md5($_POST["TB_Mot_de_Passe"]) != $row["Mot_de_Passe"])
        {
             $message = "Votre mot de passe est incorrect";
        }
        else
        {
          // Définition du temps d'expiration des cookies
          $expiration = empty($_POST["CB_Connexion_Automatique"]) ? 0 : time() + 90 * 24 * 60 * 60;
          // Création des cookies
          setcookie("ID_UTILISATEUR", $row["ID_Utilisateur"], $expiration, "/");
          setcookie("NOM_UTILISATEUR", $row["Nom_Utilisateur"], $expiration, "/");
          // Fermeture de la connexion à la base de données
          mysql_close();
          // Redirection de l'utilisateur
          header("Location: home.php");
        }
      }
    }
  }
    // Fermeture de la connexion à la base de données
    mysql_close();
  }
}?>


Et le formulaire de connexion :

<form action="http://<?php echo $_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"]; ?>" method="post">
<ul>
  <li> <span class="style4" onmouseover="over('inscrip')">Déjà membre?</span></li>
  <li> <input rel="pseudo / email" class="" alt="pseudo" name="TB_Nom_Utilisateur" type="text" style="width:85px; vertical-align: middle; color:#999999;" value="Pseudo" onfocus="this.value=''"></li>
  <li>
    <input rel="****" class="" alt="****" name="TB_Mot_de_Passe" type="password" style="width:85px; vertical-align: middle; color:#999999;" value="****" onfocus="this.value=''">
  </li>
  <li>
    <input title="Rester Connecté" class="save" type="checkbox" name="CB_Connexion_Automatique" title="Rester connecté"/>
  </li>
  <li> <input title="Connexion" class="conn" type="image" name="BT_Envoyer" value="Connection" src="/images/Icone/log-icone.png" style="vertical-align: middle;"/></li>
</ul>







A voir également:

4 réponses

tito23 Messages postés 305 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 16 janvier 2013 4
8 mars 2011 à 12:21
Bonjour,
Vous travaillé en local et puis vous appelez la page par "http://gar/pages/index/home.php" je pense qu'il faut utiliser http://127.0.0.1/gar/pages/index/home.php ou quelque chose de ce genre.
0
Br8314 Messages postés 44 Date d'inscription samedi 25 septembre 2010 Statut Membre Dernière intervention 27 mars 2012
Modifié par Br8314 le 8/03/2011 à 12:32
Je ne pense pas car, j'ai testé une fois hébergé sur mon serveur et même résultat: Phrase d'erreur :

Redirection de page incorrecte 

Firefox a détecté que le serveur redirige la demande pour cette adresse d'une manière qui n'aboutira pas. 

    *   La cause de ce problème peut être la désactivation ou le refus 
          des cookies.


les cookies son pourtant acceptés. Avec firebug je peux voir qu'un coockie NOM_UTILISATEUR et ID_UTILISATEUR on été créé avec les bonnes valeurs

chemin : / <=== ca je ne sais pas ce que cela veut dire
Expire: Session
0
chico200987 Messages postés 791 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 30 juillet 2018 143
8 mars 2011 à 12:41
Salut,

Dans tous les cas y'a un problème, que tu sois en local ou pas il essaie d'acceder a "http://gar/pages/index/home.php" qui est une adresse incorrect, http://gar/ ne peut que planter si ce n'est pas une machine de ton reseau..

Essaie quelque chose comme :



    header("Status: 200");
    // Note le / devant home.php pour aller a la racine
    header("Location: /home.php");

0
Br8314 Messages postés 44 Date d'inscription samedi 25 septembre 2010 Statut Membre Dernière intervention 27 mars 2012
8 mars 2011 à 13:23
Merci mais même résultat malheureusement :/
0
chico200987 Messages postés 791 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 30 juillet 2018 143
8 mars 2011 à 13:27
Et que donne :

 header("Location: http://127.0.0.1/home.php");


N'oublie pas de remplacer les deux a chaque fois.

Si ca ne marche toujours pas mets les deux header en commentaire voir si l'erreur vient bien de la
0
tito23 Messages postés 305 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 16 janvier 2013 4
8 mars 2011 à 13:29
t'es sur que home.php est dans le même dossier que ta page php en cours?
0
chico200987 Messages postés 791 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 30 juillet 2018 143
8 mars 2011 à 13:32
Hey sorry j'avais pas vu le formulaire de connexion !

<form action="http://<?php echo $_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"]; ?>" method="post">


C'est la que ca ne va pas.

Essaie quelque chose comme :

<form action="http://<?php echo $_SERVER['HTTP_HOST'] . $_SERVER["PHP_SELF"]; ?>" method="post">


Plutot !
0
chico200987 Messages postés 791 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 30 juillet 2018 143
8 mars 2011 à 13:35
Mais en fait si ton code HTML du formulaire et que le code PHP qui gere la connexion sont sur la meme page, tu n'as pas besoin de remplir le champs action..
0
Br8314 Messages postés 44 Date d'inscription samedi 25 septembre 2010 Statut Membre Dernière intervention 27 mars 2012
Modifié par Br8314 le 8/03/2011 à 13:41
Toujours pas mais par contre ce que j'ai oublié d'expliquer (tito m'y a fait penser) je me connecte à partir de la page home.php et je reviens sur la page home.php une fois connecté mais dans le menu des fonction seront visible que par les membres. Je vous envoie le lien par mp.

ps: la page est inaccessible mais lorsque je supprime les coockie de cette page je peut y revenir... donc ca doit venir de là
0
chico200987 Messages postés 791 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 30 juillet 2018 143
8 mars 2011 à 13:55
En fait c'est complétement normal... Tu fais une boucle infinie.

Ton code home.php contient ceci :
if(isset($_COOKIE["ID_UTILISATEUR"]))
{
     header("Location: home.php");
}
...


Donc si le cookie est valide, il va sur home.php... puis hop il va revoir si le cookie est valide puisque tu viens de le rediriger sur la page.. il l'est ? Et bah on revient sur home.php.. Etc etc etc..

En fait ce bout du if ne sert pas tu devrais juste mettre :

if(!isset($_COOKIE["ID_UTILISATEUR"]))
{
   // Une fois le formulaire envoyé
if(isset($_POST["BT_Envoyer"]))
{
    // Connexion à la base de données
    include ('../../mySQL/connexionMySQL.php');
    // Sélection de l'utilisateur concerné
    $result = mysql_query("
        SELECT ID_Utilisateur, Nom_Utilisateur, Mot_de_Passe, Compte_Active
        FROM Comptes_Utilisateurs
        WHERE Nom_Utilisateur = '" . $_POST["TB_Nom_Utilisateur"] . "'
    ");
    // Si une erreur survient
    if(!$result)
    {
        $message = "Une erreur est survenue lors de la tentative de connexion";
    }
    else
    {
      // Si aucun utilisateur n'a été trouvé
      if(mysql_num_rows($result) == 0)
      {
           $message = "Le nom d'utilisateur " . $_POST["TB_Nom_Utilisateur"] . " n'existe pas";
      }
      else
      {
      // Récupération des données
      $row = mysql_fetch_array($result);
      // Si le compte n'a pas été activé
      if($row["Compte_Active"] == 0)
      {
          $message = "Votre compte utilisateur n'a pas été activé";
      }
      else
      {
        // Vérification du mot de passe
        if(md5($_POST["TB_Mot_de_Passe"]) != $row["Mot_de_Passe"])
        {
             $message = "Votre mot de passe est incorrect";
        }
        else
        {
          // Définition du temps d'expiration des cookies
          $expiration = empty($_POST["CB_Connexion_Automatique"]) ? 0 : time() + 90 * 24 * 60 * 60;
          // Création des cookies
          setcookie("ID_UTILISATEUR", $row["ID_Utilisateur"], $expiration, "/");
          setcookie("NOM_UTILISATEUR", $row["Nom_Utilisateur"], $expiration, "/");
          // Fermeture de la connexion à la base de données
          mysql_close();
          // Redirection de l'utilisateur
          header("Location: home.php");
        }
      }
    }
  }
    // Fermeture de la connexion à la base de données
    mysql_close();
  }

}
0
Br8314 Messages postés 44 Date d'inscription samedi 25 septembre 2010 Statut Membre Dernière intervention 27 mars 2012
8 mars 2011 à 14:09
En effet je n'avais pas vu ca, donc je n'ai plus cette page d'erreur, mais pour vérifier si je suis bien connecté, j'ai fais ceci:

Si il y a le cookie id_utilisateur alors on affiche "test" sinon, on est pas connecté alors on affiche le formulaire de connexion, et... le formulaire est là même une fois connecté.

<?php if(isset($_COOKIE["ID_UTILISATEUR"])) { ?>
    test
<?php } else { ?>
  <div id="h-connect">
    <?php if(isset($message)) { ?>
     <p><?php echo $message; ?></p>
    <?php }?>
    <form action="" method="post">
    <ul>
      <li> <span class="style4" onmouseover="over('inscrip')">Déjà membre?</span></li>
      <li> <input rel="pseudo / email" class="" alt="pseudo" name="TB_Nom_Utilisateur" type="text" style="width:85px; vertical-align: middle; color:#999999;" value="Pseudo" onfocus="this.value=''"></li>
      <li>
        <input rel="****" class="" alt="****" name="TB_Mot_de_Passe" type="password" style="width:85px; vertical-align: middle; color:#999999;" value="****" onfocus="this.value=''">
      </li>
      <li>
        <input title="Rester Connecté" class="save" type="checkbox" name="CB_Connexion_Automatique" title="Rester connecté"/>
      </li>
      <li> <input title="Connexion" class="conn" type="image" name="BT_Envoyer" value="Connection" src="/images/Icone/log-icone.png" style="vertical-align: middle;"/></li>
    </ul>
    <div id="inscrip"><a href="../account/accountcreate.php" class="link-inscrip">Je souhaite m'inscrire</a><img src="/images/Icone/close-small.png" style="margin-left: 6px;" onclick="out('inscrip')" alt=""></div>
    </form>
  </div>
<?php } ?>
0
chico200987 Messages postés 791 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 30 juillet 2018 143
8 mars 2011 à 14:12
Chez moi je n'ai pas le fomulaire qui s'affiche (je me suis cree un compte sur ton site)
0