Zone membre PHP
simonfr
Messages postés
172
Statut
Membre
-
__construct -
__construct -
Bonjour,
Je voudrait créer une zone membre.
J'ai déjà créer 4 fichier pour ma zone membre seulement a chaque fois que je valide le pseudo et mot de passe il revient sur la même page toujours avec le même formulaire
Voici mes fichier :
membres.php
login.php
login_ok.php
pdf_conection2
Je voudrait créer une zone membre.
J'ai déjà créer 4 fichier pour ma zone membre seulement a chaque fois que je valide le pseudo et mot de passe il revient sur la même page toujours avec le même formulaire
Voici mes fichier :
membres.php
<?php
if(!isset($_SESSION['account']))
{
include ('login.php');
}
else
{
include ('login_ok.php');
}
?>
login.php
<div id="inscription"> PAS ENCORE INSCRIT ? <a href="#">Inscription !</a> <div class="separation"></div> Profitez des nombreux avantages des V.I.P <a href="#">En savoir plus !</a> </div> <form id="login_form" name="login_form" action="pdf_conection2.php" method="post"> <div> <p id="login">PSEUDO :</p> <input type="text" name="account" onfocus="replace_form_login();" onblur="replace_form_login_empty()" /><br /> <p id="mdp">MOT DE PASSE :</p> <input type="password" name="pass" onfocus="replace_form_login();" onblur="replace_form_login_empty()" /><br /> <input type="submit" value="Entrer" name="submit" /> </div> </form>
login_ok.php
<?php
mysql_connect($host,$user,$pass);
mysql_select_db($db);
$pseudo = $_SESSION['account'];
$requete = mysql_query ("SELECT * FROM accounts WHERE account='$pseudo'");
$donnees = mysql_fetch_array($requete);
?>
<?php
if (isset($_SESSION['account']))
{
echo '<br><b>Bonjour </b><u><i><strong><font color="cornflowerblue">'.$_SESSION['account'].'</strong></i></u></font>,<br /><br>';
echo '<a href="infos.php"><strong>- Mon compte</a><br>';
echo '<a href="personnages.php"><strong>- Mes personnages</a><br>';
echo '<a href="boutique.php">- Boutique</a><br>';
echo '<a href="commandes.php">- Commandes</a><br>';
if($donnees['level'] >= 4) { include 'ressources/admin.php'; }
?>
</br>
<?php
echo '<a href="support.php">- Envoyer un ticket</a><br>';
echo '<a href="supportview.php">- Voir mes ticket</a><br>';
?>
</br>
</br>
<form action="deconnecter.php" method="post">
<center><input type="submit" value="Déconnecter"></center>
</form>
<?php
}
else
{
echo 'Vous n\'êtes pas connecté!';
}
?>
pdf_conection2
<?php require('../config/config.php'); ?>
<?php
$pseudo = $_POST['account']; //On recupère le pseudo et le pass
$pass = $_POST['pass'];
if (!empty($pseudo) && !empty($pass)) //S'ils sont pas vident
{
$sql = mysql_connect($host, $user, $pass);
$db = mysql_select_db('ancestra_other');
$reponse = mysql_query ("SELECT * FROM accounts WHERE account='$pseudo'"); //On recupère les infos à partir du pseudo
$donnees = mysql_fetch_array ($reponse);
$verif = $donnees['pass'];
$id = $donnees['id'];
$pseudo_sql = $donnees['account'];
$question_sql = $donnees['question'];
$gmlevel = $donnees['level'];
$password = $donnees['Pass'];
if($pass != $verif) //On verifie que le pass entré est égale à celui de la BDD, si le passe est différent
{
header ("Location: erreur_mdp.php");
}
else //Sinon tout est bon
{
session_start();
$_SESSION['account'] = $pseudo_sql ; //On créé une variable session avec le pseudo
$_SESSION['pass'] = $password_sql ; //On créé une variable session avec le pseudo
$_SESSION['question'] = $question_sql ; //On créé une variable session avec la question
$_SESSION['level'] = $gmlevel_sql;
header("Location: ./membre.php");
}
mysql_close($sql); //On ferme la connection
}
?>
A voir également:
- Zone membre PHP
- Alternative zone telechargement - Accueil - Outils
- Membre indisponible vinted - Guide
- Easy php - Télécharger - Divers Web & Internet
- Appel data zone franche ✓ - Forum Vos droits sur internet
- Zone annuaire guru - Accueil - Services en ligne
6 réponses
Bonsoir,
Et dans le fichier erreur_mdp.php n'y aurait-il pas une redirection sur login.php ?
Et dans le fichier erreur_mdp.php n'y aurait-il pas une redirection sur login.php ?
simonfr
Messages postés
172
Statut
Membre
21
non il n'y a pas de redirection
normalement $_SESSION['account'] is not set , teste echo $_SESSION['account']; et dis ce que ça donne?
Bonjour,
ça donne quelle erreur? Soit plus explicite dans tes réponses sinon on n'arrivera pas à t'aider...
Vérifie que cette requête SQL :
Ne renvoie pas une erreur en utilisant un or die() au bout de la requête :
Ce n'est pas très sécurisé de faire la vérification d'une authentification uniquement sur le pseudo mais recommandé de le faire sur le pseudo ET le mot de passe, donc modifie ta requête dans ce sens.
P.S : évite de créer chaque fois un nouveau topic sur le même problème, ce n'est pas parce que on ne répond pas de suite qu'il faut s'emballer...
ça donne quelle erreur? Soit plus explicite dans tes réponses sinon on n'arrivera pas à t'aider...
Vérifie que cette requête SQL :
$reponse = mysql_query ("SELECT * FROM accounts WHERE account='$pseudo'");
Ne renvoie pas une erreur en utilisant un or die() au bout de la requête :
$reponse = mysql_query ("SELECT * FROM accounts WHERE account='$pseudo'")or die('Erreur dans la requête $reponse '.mysql_error());
Ce n'est pas très sécurisé de faire la vérification d'une authentification uniquement sur le pseudo mais recommandé de le faire sur le pseudo ET le mot de passe, donc modifie ta requête dans ce sens.
P.S : évite de créer chaque fois un nouveau topic sur le même problème, ce n'est pas parce que on ne répond pas de suite qu'il faut s'emballer...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Mon code est importer d'un autre site.
Sur l'autre site il marche
Sur l'autre site il marche
oui c'est normal que tu reviennes au formulaire car tu n'es pas connecté et pour cause tu perds la session dans login_ok.php
D'autre part, dans pdf_conection2, tu rediriges sur membre.php alors que tu nous affiche le script sous le nom de membres.php (avec un s). Où est la vérité?
Mon conseil : reprend tout de A à Z et essaie de regrouper tous ces scripts dans un ou 2 fichiers tu y gagneras en clarté car tous ces fichiers justes pour une connexion membre ça fait un peu beaucoup..
D'autre part, dans pdf_conection2, tu rediriges sur membre.php alors que tu nous affiche le script sous le nom de membres.php (avec un s). Où est la vérité?
Mon conseil : reprend tout de A à Z et essaie de regrouper tous ces scripts dans un ou 2 fichiers tu y gagneras en clarté car tous ces fichiers justes pour une connexion membre ça fait un peu beaucoup..
Remplace le code de pdf_conection2 par celui-ci, plus clair et plus concis (fais un Copier/Coller pour éviter les erreurs) :
pdf_conection2
Et teste à nouveau
pdf_conection2
<?php
require('../config/config.php');
$pseudo = $_POST['account']; //On recupère le pseudo et le pass
$pass = $_POST['pass'];
if (!empty($pseudo) && !empty($pass)) {
$sql = mysql_connect($host, $user, $pass);
$db = mysql_select_db('ancestra_other');
//Je pars du principe que le champ du mot de passe se nomme bien Pass (avec un P majuscule!) dans la table account
$reponse = mysql_query ("SELECT * FROM accounts WHERE account='".$pseudo."' AND Pass='".$pass."'")or die('Erreur dans la requête '.mysql_error());
if(mysql_num_rows($reponse) != 0) {
$donnees = mysql_fetch_array($reponse);
session_start();
$_SESSION['pseudo'] = $donnes['account'];
$_SESSION['account'] = $donnees['account'];
$_SESSION['question'] = $donnees['question'];
$_SESSION['level'] = $donnees['level'];
// Je ne mets pas le mot de passe en variable de session, trop dangereux niveau sécurité!!!
mysql_free_result($reponse);
header("Location: ./membre.php");
} else {
header ("Location: erreur_mdp.php");
}
mysql_close($sql);
}
?>
Et teste à nouveau