CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Partie membre ... aide!

Mith55
Mith55
Niveau 8
25 septembre 2005 à 11:24:41

Bonjours, depuis plusieurs jours maintenant j´essaie de faire fonctionner ma partie membre!
Mais je n´y arrive pas!

Voilà ma pag de base, que je modifie , de sorte a ce qu´elle se connecte a la bdd pour voir si le membre est inscrit......

Login.php (page de base)

<?
if (isset($_POST[´pseudo´]) && isset($_POST[´pass´]))
{

if ($requete[´pseudo´] == $_POST[´pseudo´] && $requete[´pass´] == $_POST[´pass´] && $requete[´droit´] == 1)
{
session_start ();
$_SESSION[´nick´] = $_POST[´pseudo´];
$_SESSION[´pass´] = $_POST[´pass´];
$_SESSION[´ok´] = "ok";

header (´location: index.php´);
}
elseif ($login == $_POST[´pseudo´] && $pass == $_POST[´pass´] && $droit == 9)
{
session_start ();
$_SESSION[´nick_am´] = $_POST[´pass´];
$_SESSION[´pass_am´] = $_POST[´pass´];
header (´location: index.php´);
}
else
{
echo ´<body onLoad="alert(\´Membre non reconnu...\´)">´;
echo ´<meta http-equiv="refresh" content="0;URL=index.php">´;
}
}
else
{
header (´location: index.php´);
}

?>

Bon, je sais qu´il manque quelques variable$ mais jlé é enlevées!!

Merci de m´expliquer comment faire...........

Bye
@+

misterbibis
misterbibis
Niveau 9
25 septembre 2005 à 12:00:23

Il y a entout cas un faute flagrante c´est ton session_start (); il ne doit apparaître qu´un seul fois et tout en haut de la page.

Mith55
Mith55
Niveau 8
25 septembre 2005 à 12:25:38

Ok, sa je vais le modifier...
Mais le truc que je n´arrive pas à faire fonctionner c´est que mon script interroge la bdd, et vois si le membre y est dedant ou pas....

Merci @++

panther751
panther751
Niveau 10
25 septembre 2005 à 12:41:32

Dis moi c´est quoi comme BDD?

Parce que là je vois pas où elle est interrogée...

Mith55
Mith55
Niveau 8
25 septembre 2005 à 20:53:27

Non, mais là j´ai pas mis la bdd, sa c´est juste le scripot de base.. Pour qu´on m´aide a partir de celui-ci!!
Car j´ai essayé plusieurs façons j´y arrive pas...
Merci beaucoups..

Alexlink1er
Alexlink1er
Niveau 8
25 septembre 2005 à 22:52:32

Tu compare ton $_post[´pseudo´]à $requete[´pseudo´], j´imagine que ce dernier vient d´une requête php pour un bdd ;) .

Alors où tu as oublié un truc, ou tu as mal recopié un autre script =)

Mith55
Mith55
Niveau 8
26 septembre 2005 à 18:33:24

Non, mais sa pourrai marcher je pense... (sa pourrai! lol)

Mais j´ai un messgae d´erreur! Bon, je vais reprendre mon script, et voir sa! La seule chose, c´ets qu´il me faut faire sa:
$_POST[´pseudo´] = $requete[pseudo´]
et
$_POST[´pass´] = $requete[´pass´]

Voilà! Mais sa encore je sias le faire, mais le probleme, c´ets qu´il faut tirer de la bdd le pseudo, ET le pass qui lui correspond.....

Mon je pensai à sa:
$pseudo = $_POST[´pseudo´];
$pass = $_POST[´pass´];

$requete = mysql_query(SELECT * FROM membre WHERE pseudo = $pseudo);
$result = mysql_fetch_array($requete);

....
if ($pseudo == $result[´pseudo´] && $pass == $result[´pass´])
{.....}
else
{....}

Voilà, dans ce genre????

Merci, @+

Mith55
Mith55
Niveau 8
26 septembre 2005 à 20:25:24

Voilà, ce que j´ai fais...
J´ai rien qui s´affiche par contre!!

// // //
login.php:
// // //
<?
include ´autre/connect.php´;

$donnees = ´SELECT * FROM membre WHERE pseudo="´.$_POST[´pseudo´].´"´;
$test_req = mysql_query($donnees) or die(´Il y a eu une erreur lors de la connection..<br />´.$donnees.´<br />´.mysql_error());
$requete = mysql_fetch_array($test_req);

if (isset($_POST[´pseudo´]) && isset($_POST[´pass´]))
{

if ($requete[´pseudo´] == $_POST[´pseudo´] && $requete[´pass´] == $_POST[´pass´] && $requete[´droit´] == 1)
{
$_SESSION[´nick´] = $_POST[´pseudo´];
$_SESSION[´pass´] = $_POST[´pass´];
$_SESSION[´ok´] = "ok";

header (´location: index.php´);
}
elseif ($requete[´pseudo´] == $_POST[´pseudo´] && $requete[´pass´] == $_POST[´pass´] && $requete[´droit´] == 9)
{

$_SESSION[´nick_am´] = $_POST[´pass´];
$_SESSION[´pass_am´] = $_POST[´pass´];
header (´location: index.php´);
}
else
{
echo ´<body onLoad="alert(\´Membre non reconnu...\´)">´;
echo ´<meta http-equiv="refresh" content="0;URL=index.php">´;
}
}
else
{
header (´location: index.php´);
}
?>

// // // //
Voilà aussi la page connect.php
// // // //

<?
mysql_connect ("localhost", "root", "");
mysql_select_db ("design");
?>

Merci, beaucoups de m´expliquer comment sa se fait que rien ne se passe......
@++

Mith55
Mith55
Niveau 8
27 septembre 2005 à 18:03:44

Arf.. Personne...
:´(

electron_libre
electron_libre
Niveau 10
27 septembre 2005 à 20:24:58

pas evident
essaie de trouver toi meme en debuggant ton code, voir dans quel condition tu te trouves ...

pour ca, met toutes tes redirections avec header en commentaire avec des double slash devant //header(...) et met des echo pour afficher le contenu de chaques variables

la 1ere etape pour corriger un bug, c de le localiser ...
autre conseil, prend tout de suite l´initiative d´utiliser les tag long <?php ?> plutot que <? ?>

Mith55
Mith55
Niveau 8
29 septembre 2005 à 18:28:47

Bon, je me met au <?php ?> au lieu de <? ?>

sion, pour le debuggage..... J´abandonne.. Déjà je vais tout recommencer, cvar je viens de m´appercevoir que mes includes allai créer des problemes au long terme...

Merci...
@++

captain_torche
captain_torche
Niveau 10
29 septembre 2005 à 19:11:57

electron_libre -> Quelle est la différence entre <? ?> et <?php ?> ? Le serveur ne les interprète pas de la même manière ?

Meka
Meka
Niveau 10
29 septembre 2005 à 22:27:58

Trouvant que le systeme de cookie étant plus simple... je te le refais en cookie :ok: c´est plus facile.

<? // Page De Connection pour un espace Membre , Salut a toi oh! trucmuche :P
// Insertion de la condition generale.
if(isset($_POST[´pseudo´] && isset($_POST[´password´]))
{
// Insertion de $_Post[´variable´] dans $variable
$pseudo = $_POST[´pseudo´];
$password = $_POST[´pass´]
// Connection a la base de données.
mysql_connect("localhost","host","")
mysql_select_db("membre")
// On utilise la requête suivante pour récupérer les données :
$reponse = mysql_query("Select * FROM membres");
// Puis on fait une boucle pour afficher tous les résultats :
while ($donnees = mysql_fetch_array($reponse) )
{
// Ajout de la condition : si pseudo = pseudo et pass = pass, ajout du cookie
if($pseudo = $donnees[´pseudo´] && $pass = $donnees[´pass´])
{
setcookie("cookiepseudo","$pseudo",time()+24 * 3600 , "/"); // le temps du cookie est egale a un jour tu augmentes comme bon te semble
}
// Sinon , $pseudo ou $pass = False.
else
{
echo "Votre login ou mot de passe est eronné" ;
}
// Fin de la boucle
}

// Pour affiché le cookie mettre <? $_COOKIE[´cookiepseudo´]; ?> voiloù je pense que c´est bon, enfin j´ai fais ca direct sur le systeme message de jvc donc y a ptet deux trois fautes maisn ormalement c´est bon ;)
?>

electron_libre
electron_libre
Niveau 10
29 septembre 2005 à 22:39:15

@captain_torche

si tu utilises les balises courtes <? et qu´un jour tu veuilles te mettre à générer des fichers xml qui commencent par <?xml le serveur risque d´interpreter ce qui suis comme etant du php et non du xml, donc erreur

de plus, dans le fichier php.ini, le balisage court peut etre desactivé, donc si tu changes d´hebergeur, tu devras remodifier tout tes fichiers (sans parler du temps qu´il faudra pour localiser que le probleme viens de ca ...)

donc autant prendre les bonnes habitudes des le debut, c comme bien indenter son code, ca parait un peu plus logique, mais c du meme ordre en fait ...

electron_libre
electron_libre
Niveau 10
29 septembre 2005 à 22:51:47

@Meka

oui, il manque plusieurs ; et une accolade juste avant le else
je pense que ca fonctionne, mais point de vue optimisation on peut faire mieux, ta requete selectionne tout les membre de la base, pour un gros site comme celui-la ca fait plusieurs milliers de comptes, et ta boucle parcours tout les resultats pour les comparer, et des qu´elle trouve une correspondance, elle envoie le cookie, et continues de tester les autre resultats ...
pour ce genre de chose vaut mieux faire une requete qui ressort tout les resultats avec 2 contraintes ou on specifies le nom et le pseudo
SELECT * FROM membre WHERE pseudo = $pseudo AND password = $pass
si on a bien fait les tests de verification que le pseudo n´existait pas lors de la création du compte, cette resquete ne ressort qu´un seul resultat, et donc la boucle se fait assez vite

Mith55 devrait peut etre faire un mix des 2 solutions en prenant cette requete, et ta methode de cookie, meme si je suis pas fan des cookies pour la gestion des membres (à cause des gens qui se connectent d´un pc public)

Meka
Meka
Niveau 10
29 septembre 2005 à 22:56:19

electron_libre :d) Effectivement en relisant j´ai vu ca , mais voulant pas faire de double post sur le coup :) puis c´etait pour monterr un exemple du cookie , effectivement question optimisation =) ca laisse a desiré enfin c´est tapé a la vavite tout de même.
Il devrait mettre son systeme d´autantification et les cookies ;)

Mith55
Mith55
Niveau 8
05 octobre 2005 à 16:23:10

Salut a tous.. J´avais pas vu tout ces post...
J´ai optimisé un peu plus mon code (me reste puls qu´à différencier membre et admin) mais je suis toujours sous les sessions, je préfère! Les cookies j´en suis pas trop fan... (chez moi je les supprime tres souvent... par example)!

Sinon, je vais voir sa...
Merci beaucoups,..@++

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment