Espace Membre PHP + redirection

Résolu
djimson Messages postés 217 Statut Membre -  
djimson Messages postés 217 Statut Membre -
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. Overstyle Messages postés 36 Statut Membre 1
     
    Salut,

    Qu'est-ce-que contient ta variable $id ?
    0
  2. djimson Messages postés 217 Statut Membre 3
     
    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
    0
    1. djimson Messages postés 217 Statut Membre 3
       
      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
      0
  3. Overstyle Messages postés 36 Statut Membre 1
     
    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...
    0
    1. Overstyle Messages postés 36 Statut Membre 1
       
      Evidemment il faut que tu remplaces les $id par $id_user ou $name_user...
      0
  4. djimson Messages postés 217 Statut Membre 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
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Overstyle Messages postés 36 Statut Membre 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
    }
    ?>
    0
    1. djimson Messages postés 217 Statut Membre 3
       
      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();
      ?>
      0
  7. djimson Messages postés 217 Statut Membre 3
     
    Ok, je l'essai de suite et je vous dit ce que ca donne. Vraiment merci et désolé du derangement
    0
  8. djimson Messages postés 217 Statut Membre 3
     
    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
    0
  9. djimson Messages postés 217 Statut Membre 3
     
    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é.
    0