|
|
|
|
Bonjour,
dans le cadre de mes études j'ai un projet à réaliser, dont l'élaboration d'un site web.
Je me bats avec le PHP+MYSQL pour créer une partie membres !
J'ai déjà créer le formulaire d'inscription avec accès à la base de données, après il faut donc une page de login pour s'identifier, mais comment faire pour que une fois identifié le membre ai des "avantages".
Par exemple avoir des pages masquées pour les visiteurs, mais visible pour les membres.
Je suis encore débutante donc merci d'être le plus précis possible :$
Merci.
Configuration: Windows XP Firefox 2.0.0.12
Bonsoir
|
Waw c'est quand même super difficile tout ça !
|
Non les session c'est tout bete
|
Pour le php mysql ==>tout seul maisj'avais des bonnes notions.Quand on veut on peut y arriver
|
Pour ta page de connexion pense à inclure le cryptage du mot de passe
|
Et bien pour l'instant je refais moi même le module d'inscription, j'en suis la :
|
Bon j'arrête pour ce soir !
|
Salut,
if( mysql_num_rows($requete) === 0 )
et tant qu'à apprendre&helip; je te soumets ma façon de traiter une connexion/requête. si cette façon de coder de déstabilise, oublie, sinon on pourra t'expliquer ligne par ligne. <?php
// utilisation de constantes, plus pratiques pour modifier les valeurs quand tu passes chez ton hébergeur
define( 'DB_HOST' , 'localhost' );
define( 'DB_USER' , 'root' );
define( 'DB_PASSWORD' , '' );
define( 'DB_NAME' , 'php' );
// sandwich Try/Catch, toutes les erreurs sont gérées au même endroit
// chaque fois que tu lèves une erreur avec 'throw new Exception()' le code saute au 'Catch()'
try
{
$db_link = @mysql_connect( DB_HOST , DB_USER , DB_PASSWORD );
if( !$db_link )
{
throw new Exception('Connexion impossible au serveur de données');
}
if( !@mysql_select_db( DB_NAME ) )
{
throw new Exception( 'Impossible de sélectionner la base de données' );
}
$sql = "SELECT `login` , `pw` FROM `adherent` WHERE login='$login' AND pw='$pw' LIMIT 1;";
$result = mysql_query( $sql , $db_link ); // soigne la rédaction, ça facilite le débogage
if( $result === false ) // test de type, important !
{
throw new Exception( 'Erreur lors de l\'exécution de la requête;' );
}
if( mysql_num_rows($requete) !== 1 )
{
throw new Exception( 'Connexion échouée' );
}
echo '<p>Connexion réussie</p>';
}
catch( Exception $e )
{
echo "<p>{$e->getMessage()}</p>"
}
?>
dans tous les cas : • présente bien ton code (aération, indentation, majuscules pour les mots clé SQL…) c'est juste une bonne habitude à prendre • pense à aller voir dans le manuel PHP quels sont les types retournés par les fonctions et si besoin est de tester le type avec un triple égale dans tes tests. PS : le bouton pour mettre en forme le code. [ Mathieu ] Pensez à utiliser le bouton "Conserver la mise en forme du texte sélectionné" pour mettre en forme les codes sources et à cocher l'option "Résolu" quand c'est le cas, merci ! |
Bonjour essaye comme ca
//evidemment avant tu verifi que $_pot['login'] et post_['pw'] sont pas vide.
//ensuite tu reprends une partie du code plus haut
// On utilise les fonctions PHP mysql_real_escape_string et htmlspecialchars pour la sécurité
$login = ($_POST['login']);
$pw = ($_POST['pw']);
$db_link = @mysql_connect("localhost","root","");
if(!$db_link) {echo "Connexion impossible à la base de données"; exit;}
//on va regarder si le couple mp et login existe
$sql = "SELECT * FROM adherent WHERE login='$pw' AND pw='$pw'"
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
//on retourne le resultat sous forme d'un tableau associatif avec mysql_fetch_array
$data = mysql_fetch_array($req);
mysql_free_result($req); //on libere la memoire allouée à la requete
mysql_close();
// on recupere les valeurs contenue dans le champ login et pw de ta table
$membre=$data['login'];
$pass=$data['pw'];
if (($membre==$login) AND ($pass==$pw))
{
//le mot de passe et le login corresponde
echo 'je suis connectée';
}
// si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login, soit dans son mot de passe
else
{
echo 'impossible de se connecter
//ensuite tu peut detailler l'erreur si c'est le psw ou le login qui est pas bon
}
voila Marion avec tout ca le code de Dalida le mien tu devrais y arriver ,bon courage @+ |
Décidément je dois vraiment être nulle...C'est vrai que votre code Dalida à l'air plus propre et plus professionnel, je l'ai plutôt bien compris, mais la page ne s'exécute pas, il semblerait qu'il y a une erreur avec le catch, j'ai essayé de le changer mais toujours pareil...
|