Espace Membre PHP + redirection

Résolu
Bonjour,
Je demande de l'aide pour un script qui ne marche pas bien. J'arrive a insérer les membres dans ma base mais c'est la redirection vers la page personnelle avec l'ID ou le non_utilisateur qui marche pas.
De l'aide svp
Voici mes scripts de connexion :
<?

// Redirige l'utilisateur s'il est déjà identifié
if(isset($_COOKIE["ID_UTILISATEUR"]))
{
header("Location: mon-cv.php?ID_Utilisateur=$id");
}
else
{

// Formulaire visible par défaut
$masquer_formulaire = false;

// Une fois le formulaire envoyé
if(isset($_POST["BT_Envoyer"]))
{

// Vérification de la validité des champs
if(!ereg("^[A-Za-z0-9_]{2,20}$", $_POST["TB_Nom_Utilisateur"]))
{
$message = "Votre nom d'utilisateur doit comporter entre 2 et 20 caractères<br />\n";
$message .= "L'utilisation de l'underscore est autorisée";
}
elseif(!ereg("^[A-Za-z0-9]{6,}$", $_POST["TB_Mot_de_Passe"]))
{
$message = "Votre mot de passe doit comporter au moins 6 caractères";
}
else
{

// Connexion à la base de données
// Valeurs à modifier selon vos paramètres configuration
mysql_connect("xxxxx", "xxxxx", "xxxxx");
mysql_select_db("xxxxxx");

// 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, "/");

// Redirection de l'utilisateur
header("Location: mon-cv.php?ID_Utilisateur=$id");
// Fermeture de la connexion à la base de données
mysql_close();

// Redirection de l'utilisateur
header("Location: mon-cv.php?ID_Utilisateur=$id");

}

}

}

}

// Fermeture de la connexion à la base de données
mysql_close();

}

}

}

?>
<table width="272" height="195" border="0" align="center" cellspacing="0">

<tr>
<td height="31" colspan="3" background="../../images/fond_id_cv.jpg"> </td>
</tr>
<tr>
<td width="7" height="131" background="../../images/index_17.jpg"> </td>
<td width="257" height="131" bgcolor="#CCCCCC"> <img src="../../images/connexion.jpg" alt="" width="180" height="21" />

<br />
<? if(isset($message)) { ?>
<p><?= $message; ?></p>
<? } if($masquer_formulaire != true) { ?>

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

<table width="256">
<tr>
<td width="90">Pseudo :</td>
<td width="154"><input type="text" name="TB_Nom_Utilisateur" /></td>
</tr>
<tr>
<td>Mot de passe : </td>
<td><input type="password" name="TB_Mot_de_Passe" /></td>
</tr>
<tr>
<td colspan="2"><input type="checkbox" name="CB_Connexion_Automatique" />
Se souvenir de moi </td>
</tr>
<tr>
<td colspan="2"><div align="center">
<input type="submit" name="BT_Envoyer" value="Se connecter" />
</div></td>
</tr>
</table>
<p>
<? } ?></p>
</form></td>
<td width="2" height="131" background="../../images/index_17.jpg"> </td>
</tr>
<tr>
<td height="8" colspan="3" align="left" valign="top" background="../../images/index_23.jpg"></td>
</tr>
</table>

Script mon-cv.php
C'st la que se situe le problème. J'arrive pas a recupérer le nom d'utilisateur ni son ID meme en faisant $id=$_GET['ID_Utilisateur'].
Que dois_je mettre dans mon script mon-cv.php?
Merci beaucoup de l'aide, je suis très débutant
Configuration: Windows XP
Firefox 3.0.10

8 réponses

  1. Merci Overstyle pour ta reponse rapide.
    Au fait, je veux que la variable $id puisse contenir soit le nom d'utilisateur soit l'ID_Utilisateur
    1. Voici ce que je mettais dans mon-cv.php

      <?
      $Nom_Utilisateur=$_GET['Nom_Utilisateur'];
      // Connexion à la base de données

      /* Parametre de connexion à la base de donnée et au serveur*/
      $connect = mysql_connect('localhost','root',"") or die ("Ereur de connexion");
      $db = mysql_select_db('XXXX', $connect) or die ("Erreur de connexion");

      // Sélection de l'utilisateur concerné
      $result =("
      SELECT *
      FROM Comptes_Utilisateurs
      WHERE Nom_Utilisateur = '" . $_POST["TB_Nom_Utilisateur"] . "'
      ");
      $resultat=mysql_query($result);
      $row = mysql_fetch_array($resultat);

      // Fermeture de la connexion à la base de données
      mysql_close();
      ?>

      et j'essai d'afficher un champ comme ceci....
      <tr>
      <td height="19"> </td>
      <td><? echo $row["Nom_Utilisateur"] ?></td>
      </tr>

      Merci de m'expliquer comment faire
  2. Donc si j'ai bien compris tu veux que dans certains cas elle contienne nom d'utilisateur et dans d'autres ID_Utilisateur.

    Alors dans ce cas, tout en haut de la page

    quand tu veux utiliser l'id:

    if(isset($_COOKIE['ID_UTILISATEUR']))
    {
    $id_user = $_COOKIE['ID_UTILISATEUR'];
    }

    Et quand tu veux utiliser le nom:

    if(isset($_COOKIE['NOM_UTILISATEUR']))
    {
    $name_user = $_COOKIE['NOM_UTILISATEUR'];
    }

    En espérant avoir compris/résolu ton problème...
    1. Evidemment il faut que tu remplaces les $id par $id_user ou $name_user...
  3. Merci Overstyle.
    Je veux seulement le nom d'utilisateur.
    mais je met sur quel page? Ma page mon-cv.php?
    Et la redirection? est-elle bonne?
    Merci encore
    1. non non sur celle que tu a posté en 1er

      et pour mon-cv.php

      <?
      if($_GET['ID_Utilisateur'])

      {

      $Nom_Utilisateur = $_GET['ID_Utilisateur'];

      // Connexion à la base de données

      /* Parametre de connexion à la base de donnée et au serveur*/
      $connect = mysql_connect('localhost','root',"") or die ("Ereur de connexion");
      $db = mysql_select_db('XXXX', $connect) or die ("Erreur de connexion");

      // Sélection de l'utilisateur concerné
      $result =("
      SELECT *
      FROM Comptes_Utilisateurs
      WHERE Nom_Utilisateur = '" . $Nom_Utilisateur . "'
      ");
      $resultat=mysql_query($result);
      $row = mysql_fetch_array($resultat);

      // Fermeture de la connexion à la base de données
      mysql_close();

      ?>

      et j'essai d'afficher un champ comme ceci....
      <tr>
      <td height="19"> </td>
      <td><? echo $row["Nom_Utilisateur"] ?></td>
      </tr>

      <?php
      }
      ?>
      1. Mon problème es reglé à moitié. Merci déjà pour ce qui a été fait.
        Voici l'erreur que j'ai quand je fais la redirection vers mon-cv.php?ID_Utilisateur=X
        Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/content/p/g/a/pgaliba/html/TOUTAOUAGA/emploi/inscription/mon-cv.php on line 25

        Voici les lignes de codes.
        <?
        if($_GET['ID_Utilisateur'])

        {

        $Nom_Utilisateur = $_GET['ID_Utilisateur'];

        /* Parametre de connexion à la base de donnée et au serveur*/
        $connect = mysql_connect('localhost','root',"") or die ("Ereur de connexion");
        $db = mysql_select_db('ouaga_db', $connect) or die ("Erreur de connexion");

        // Sélection de l'utilisateur concerné
        $result =("
        SELECT *
        FROM Comptes_Utilisateurs
        WHERE ID_Utilisateur = $id_user;
        ");

        $resultat=mysql_query($result);
        $row = mysql_fetch_array($resultat);

        // Fermeture de la connexion à la base de données
        mysql_close();
        ?>
    2. Ok, je l'essai de suite et je vous dit ce que ca donne. Vraiment merci et désolé du derangement
      1. Bonsoir, Je demande de l'aide pour cette erreur :

        Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/content/p/g/a/pgaliba/html/TOUTAOUAGA/emploi/inscription/mon-cv.php on line 25
        Erreur de connexion

        Merci
        1. SVP personne ne peut me venir en aide?
          Maintenant, ma page ne se charge plus. Elle commence et s'arrete et donne ceci ad la barre d'adresse:
          http://www.toutaouaga.com/emploi/inscription/mon-cv.php?ID_Utilisateur=

          ou si ca passe, ca donne ceci :

          Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/content/p/g/a/pgaliba/html/TOUTAOUAGA/emploi/inscription/mon-cv.php on line 25
          Erreur

          Voici de nouveau le code
          <?
          if($_GET['ID_Utilisateur'])

          {

          $Nom_Utilisateur = $_GET['ID_Utilisateur'];

          // Connexion à la base de données

          // Parametre de connexion à la base de donnée et au serveur*/
          $connect = mysql_connect('localhost','root',"") or die ("Ereur de connexion");
          $db = mysql_select_db('ouaga_db', $connect) or die ("Erreur de connexion");

          // Sélection de l'utilisateur concerné
          /* $result =("
          SELECT *
          FROM Comptes_Utilisateurs
          WHERE ID_Utilisateur = $id_user;
          ");

          $resultat = mysql_query($result);
          $row = mysql_fetch_array($resultat) or die ("Erreur de connexion");

          */

          // Fermeture de la connexion à la base de données
          mysql_close();
          ?>
          Merci de l'aide. Je dois finalisé ce travail ce soir pr qudemain matin on puisse l'utilisé.