membre en plus = page different

  • Auteur de la discussion Auteur de la discussion Donna
  • Date de début Date de début
Nouveau WRInaute
Bonsoir tous et toute :D

Bon je suis contente, mon site avance de plus en plus, et va bientôt finir à être en ligne, enfin quand j'aurai un hébergeur.

bref la je suis à mettre un espace membre sur le site (en local)

Tout fonctionne correctement, mais j'ai une petit question !

Quand l'utilisateur est reconnu, il est envoyer directement sur la page membre.php

Le problème qui ce passe, est que je voudrait que chaque utilisateur n'est pas accée à la même page.

Ex :

Ervé : membre1.php
Mik : membre2.php

Voila mon bout de code qui permet d'envoyer le membre quand il est reconnu :

Code:
 $sql = 'SELECT count(*) FROM membre WHERE login="'.addslashes($_POST['login']).'" AND pass_md5="'.md5(addslashes($_POST['pass'])).'"';
        $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
        $data = mysql_fetch_array($req);
        
        mysql_free_result($req);
        mysql_close();
        
               if ($data[0] == 1) {
            session_start();
            $_SESSION['login'] = $_POST['login'];
            header('Location: membre.php');
            exit();

Donc on voi bien que : header('Location: membre.php'); indique que l'utilisateur sera alors envoyer sur la page membre.php

Voila ma table SQL :
CREATE TABLE membre (
id int(11) NOT NULL auto_increment,
login text NOT NULL,
pass_md5 text NOT NULL,
PRIMARY KEY (id)
) TYPE=MyISAM;


Donc si quelqu'un peu me dire ce qu'il faudrait que je change, ça serai syyyyyyyperr lol :D

merci à tous et toute 8)
 
WRInaute discret
actuellement tu fais un count, ce n'est pas correct car tu récupèrera toujours 1.

fais un SELECT de id, puis insère l'ID dans ton header location:

Code:
header('Location: membre'.$id.'.php');

tout simplement, ou bien j'ai mal compris ce que tu souhaites faire...
 
Nouveau WRInaute
Merci Fanch1983 :D

j'avais pensez au selec id, mais ce que j'arrive pas à bien comprendre :oops: est comment dire que le membre Ervé par exemple sera sur la page membre2.php

car la dans le header Location je ne dit plus à quell page il ira !

donc en faite maintenant que tu ma donner la solution avec la location, il faut donc que j'ajoute dans ma table un champ qui indique à quell page le 2eme utilisateur ira non ?

J'édite : excuse j'ai compris ce que tu voulais dire, pfff je suis très b... :oops:

vais testé de suite, encore merci :D
 
Nouveau WRInaute
fluttt j'ai une petit erreur avec mon select

dans $sql = 'SELECT id(*) faut que je met quoi a la place de * qui est entre les deux ( )

car la je voi pas du tout, ouuuu je suis perdu :oops:

merci de votre aide :D
 
WRInaute impliqué
Donna a dit:
fluttt j'ai une petit erreur avec mon select

dans $sql = 'SELECT id(*) faut que je met quoi a la place de * qui est entre les deux ( )

car la je voi pas du tout, ouuuu je suis perdu :oops:

merci de votre aide :D

fais un SELECT id ;) pas SELECT id(*) :)
 
Nouveau WRInaute
Ail ail problème :cry:

Voila ce qui ce passe quand l'on est connecter :

Notice: Undefined variable: id in c:\program files\easyphp1-8\www\test_site\index.php on line 21

Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\test_site\index.php:21) in c:\program files\easyphp1-8\www\test_site\index.php on line 21

donc apparament ça viens de la :

if ($data[0] == 1) {
session_start();
$_SESSION['login'] = $_POST['login'];
header('Location: membre'.$id.'.php');
exit();

dans le header, mais j'arrive pas à comprendre pourquoi ! :oops:

Les pages de mes utilisateurs :

membre1.php
membre2.php

Donc à chaque fois qu'un nouveau utilisateur s'enregistre, je crée une nouvelle page membre l'id de l'utilisateur .php

merci de votre aide :)
 
WRInaute discret
Bonjour,

Apparement (si tu as fait les changements dans ta requete) ton data[0] est ton id. et $id n'est pas affecté... (y a rien dedans!)
donc j'aurai mis :
Code:
// si le user existe
 if ($data) 
{
session_start();
$_SESSION['login'] = $_POST['login'];
header('Location: membre'.$data[0].'.php');
exit();
}

Voila.
 
WRInaute accro
>> dans le header, mais j'arrive pas à comprendre pourquoi !

en fait ce message est un message de notice, il signifie juse que tu essaye d acceder à une variable non définie.
2 solutions : définir la variable / desactiver les notices dans ton easyphp :-)
une fois la notice disparue, tu n aura plus le probleme de header location qui ne fonctionne pas a cause de ce message de notice
voilou
 
Nouveau WRInaute
Bisour :D

arf j'avais pas pensé, enfin voila ça fonctionne, un grand merci siddhy :wink:

e-kiwi j'en est aucune idée, mais je vais regarder quand même histoire d'être bien sur, merci :D

Merci à tout ceux qui m'on aidé depuis le début, ça fait trop plaisir de voir que l'on peut être aidé sur un forum, chose que je trouve rare sur la plupart des forums, alors merci encore 8)
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut