Espace Membre

Eléphanteau du PHP | 31 Messages

07 juin 2011, 15:45

A mon avis tu n'as pas mis
$_SESSION['pseudo'] = $Pseudo;
dans le else de ton index.php

Et vérifies aussi que tu as bien
session_start();
en haut de chaque page de ton site.

Eléphant du PHP | 71 Messages

07 juin 2011, 15:53

J'ai oublié de le mettre dans la page index :oops:

pour l'instant pas de messages d'erreurs mais : le résultat est faux #-o

il m'affiche toujours le même membre (dont L'id n°2 dans ma table membres) quel que soit le pseudo connecté : Bienvenue Mme Nom2 Prenom2

????

Eléphanteau du PHP | 31 Messages

07 juin 2011, 15:56

Partages-nous le code complet des pages index.php et index1.php

Eléphant du PHP | 71 Messages

07 juin 2011, 16:02

Le code de la page index.php
			  <table width="292" height="193" border="0" align="center">
    <tr>
      <td width="713" height="187">
	
	
		<form id="form1" method="post" >
		  <table width="257" border="0" align="center">
  <td width="91" height="48"></td>
      <td width="91" height="48"><p class="header_01" align="center"><strong>CONNEXION</strong></p></td>
  </tr>
  <tr>
    <td width="91"><strong>Pseudo</strong></td>
    <td width="156"><input type="text" name="textfieldd" /></td>
  </tr>
  <tr>
    <td width="91" height="48"><strong>Mot de passe</strong> </td>
    <td width="156"><input type="password" name="textfieldd2" /></td>
  </tr>
  <tr>
    <td width="91" height="6"></td>
    <td width="156"></td>
  </tr>
  <td width="91"><div align="right">
    <input type="submit" name="Submit" value="Se connecter"   />
  </div></td>
          </table>
		</form></td>
    </tr>
  </table>

<?php 
				
session_start();				
include "connexion.php";

if(isset($_POST['textfieldd']) and isset($_POST['textfieldd2'])) /* teste si les champs on été bien remplis*/
{
$login = $_POST['textfieldd'];
$pwd = $_POST['textfieldd2'];


if(isset($_POST) && !empty($_POST['textfieldd']) && !empty($_POST['textfieldd2'])) {
  extract($_POST);
  // on recupère le password de la table qui correspond au login du visiteur
  $sql = "select Pass from membres where Pseudo='".$login."'";
  $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

  $data = mysql_fetch_assoc($req);

  if($data['Pass'] != $pwd) {
 
   ?>

 <script language="javascript"> 
alert('Login / password incorrect. Merci de recommencer!!');
 </script>
 <?php 
 
   
  }
  else 
  {   
	
        $_SESSION['pseudo'] = $Pseudo;
    // vers la page d'accueil de votre espace membres(pas de echo dans un header)
          header("location:index1.php");
  //}   
	
    // vers la page d'accueil de votre espace membres
	  //echo header("location:index1.php");
  }   
}
else {
     ?>

 <script language="javascript"> 
alert('Vous devez remplir tous les champs!!');
 </script>
 <?php 
}
}
?>

et le code de la Page index1 :
<?php 
session_start();

include 'connexion.php';
$login = $_SESSION['pseudo'];

$requet="SELECT * FROM membres WHERE Pseudo = '$login'";
$resultt = mysql_query($requet) or exit(mysql_error().'Echec');
$data = mysql_fetch_assoc($resultt);
?>

<p align="right">
<strong> Bienvenue  </strong> 
         <?php echo $data['Civilite']; ?>  &nbsp;
		 <?php echo $data['Nom']; ?> &nbsp;
		 <?php echo $data['Prenom']; ?>
</p>

Eléphanteau du PHP | 31 Messages

07 juin 2011, 16:06

On en revient à ce qu'on disait tout à l'heure.
modifies:
$requet="SELECT * FROM membres WHERE Pseudo = '$login'";
en:
$requet="SELECT * FROM membres WHERE Pseudo = '".$login."'";

Eléphant du PHP | 71 Messages

07 juin 2011, 16:19

:( Rien n'est changé #-o

Pour vous aider, ma table contiens les champs : id, Nom, Prenom, Civilite, Laboratoire, Grade, Tel, Adresse, Email, Pseudo, Pass

Pendant l'inscription le membre saisis tous ces coordonnées, pour remplir ces champs sauf le Pseudo et Pass, aprés l'inscription c moi qui les remplis ces 2 champs et envoie le Pseudo et le mot de passe au membre par e-mail,

Ce que j'ai remarqué que c'est qu'il m'affiche le nom et Prénom des membres dont j'ai pas encore donnée de Pseudo et Pass dans ma table comme l'exemple précédant "Bienvenue Mr Nom2 Prenom2"

8-| Et j'ai pas compris Pourquoi ça ???

Eléphant du PHP | 80 Messages

07 juin 2011, 16:21

Euh ... Ca revient au même je crois ...
Les simples quotes permettent bien de passer la variable à l'intérieur de double quote, non ?
En informatique, lorsqu'il y a un bug, le souci est toujours entre la chaise et le clavier.

Eléphanteau du PHP | 31 Messages

07 juin 2011, 16:24

Hmmmm ça m’étonnerait pas que ta requête pour attribuer un pseudo modifie toutes entrées de ta table. Vérifie dans phpmyadmin si tous tes membres n'ont pas le même pseudo.

@Ez3kiel: honnêtement je n'en ait aucune idée (je débute aussi ^^). Je sais que ca fonctionne lors d'une édition phptopdf donc oui ça ne m'étonnerait pas mais je préfère lui donner une méthode dont je suis sûr vu que je suis quasiment le seul à lui répondre. 8-|

Eléphant du PHP | 71 Messages

07 juin 2011, 16:28

J'ai pas compris, que voulez vous dire ???

Et pour ma table je n'ai que 4 enregistrements (je l'ai créer pour que je fais mes testes ) et il n'y a pas des pseudo doublons
et le problèmes ici c'est qu'il m'affiche seuls les enregistrements dont les 2 champs "Pseudo" et "Pass" sont encore vides.

#-o

Eléphanteau du PHP | 31 Messages

07 juin 2011, 16:33

dans ce cas fais juste une page de test avec simplement ça à l’intérieur:
<?php
session_start();
echo $_SESSION['pseudo'];
?>
Si rien ne s'affiche ça veut dire qu'il y a un problème au moment de la création de la variable de session.

Eléphant du PHP | 71 Messages

07 juin 2011, 16:37

Je l'ai fais et je n'ai reçu aucun résultat la page est vide #-o

Eléphant du PHP | 71 Messages

07 juin 2011, 16:42

Tu veux dire l'erreur est ici ??
 $_SESSION['pseudo'] = $Pseudo;
que ce que je dois faire ??

Eléphanteau du PHP | 31 Messages

07 juin 2011, 16:42

C'est une bonne chose, au moins on a identifié le problème. Oui l'erreur est ici. Je cherche vite fait et je te dis ce qui va pas.

Eléphant du PHP | 71 Messages

07 juin 2011, 16:43

Ok merci bien, j'attends votre aide :priere:

Eléphanteau du PHP | 31 Messages

07 juin 2011, 16:46

okaaaayyyy tu as fait disparaitre ta variable $Pseudo. mdrrrrr

Modifies comme ca:
$_SESSION['pseudo'] = $login;