Vérification d'une donnée de BDD

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Vérification d'une donnée de BDD

par Cyrano » 23 oct. 2005, 15:13

Vire le ";" après la parenthèse fermante du if()

par Invité » 23 oct. 2005, 15:11

Ainsi c'était un point-vigulr en trop et non pas manquant !!!
Super merci à tous sa marche....

par jeff » 23 oct. 2005, 15:07

voici mon erreur

Code : Tout sélectionner

if(mysql_num_rows($res)>0);
a remplacer par
 if(mysql_num_rows($res)>0)

par FireHunter » 23 oct. 2005, 14:56

Désolé pour le double-post.
Le code c'est sa donc ? :
<?php 
session_start(); // On démarre la session AVANT toute chose 
mysql_connect("localhost", "pm2", "informa"); 
mysql_select_db("pm2_sessions"); 
    #netoyage des variables 
    $pseudo= addslashes(trim($_POST['pseudo'])); 
    $mdp = addslashes(trim($_POST['mdp'])); 
    $req='SELECT pseudo FROM membres WHERE mdp="'.$mdp.'" and pseudo="'.$pseudo.'"'; 
    $res=mysql_query($req); 
        if(mysql_num_rows($res)>0); //verifie si il existe au moins une ligne 
            { 
                session_regenerate_id();//regenration de du num° de session 
                #enregistrement dans le session 
                $_session['pseudo']=$pseudo; 
                $_session['auth']='oui';/*permet juste de savoir si la session en cour est valide*/ 
                header('location:espace.php'); //on va sur l'espace securisé 
            } 
else 
                header('location:authentification.htm');     
        
?>
Ben enf ait même avec sa j'ai l'erreur parse....

par FireHunter » 23 oct. 2005, 14:51

lol ok vais voir...
Merci à tous pour votre aide ;)

par Truc » 23 oct. 2005, 00:50

Oui Oui, le 18, c'est le else ^^'
oui oui mais non :lol:
le message d'erreur signifie qu'il manque un point virgule ... donc c'est pas possible que ce soit le else :wink:

remonte dans la code (depuis le else) ligne par ligne et tu tombera tres raidement sur une qui n'en a pas justement 8)

je ne te donne pas la ligne c'est mieux si tu trouve toi meme, tu ne refera plus ou saura retrouver plus raidement l'erreur la prochaine fois.

par FireHunter » 23 oct. 2005, 00:16

Oups.. ca marche pas...

Je me suis enregistré via PHPMyAdmin mais j'ai ceci :
Parse error: parse error, unexpected T_ELSE in /home/heberg/pm2/testsite/perso.php on line 18
la ligne 18 :
else 
                header('location:authetification.html'); 


Oui Oui, le 18, c'est le else ^^'

par FireHunter » 22 oct. 2005, 23:57

Super ca marche merci pour ton aide ;)

par FireHunter » 22 oct. 2005, 23:44

Ok merci je connais mtn ^^

Je vais tester tt de suite.....

par FireHunter » 22 oct. 2005, 23:42

Eu sans vouloir t'offenser je ne connais pas
header:location('')
Donc..je vais aller voir la doc PHP et je reposte d'accord ? ;)

Et tout cas merci pour ton aide

par jeff » 22 oct. 2005, 23:39

ok pour la bage authentitification
pour perso.php
<?php
session_start(); // On démarre la session AVANT toute chose
mysql_connect("localhost", "root", "mdp");
mysql_select_db("sessions_membres");
    #netoyage des variables
    $pseudo= addslashes(trim($_POST['pseudo']));
    $mdp = addslashes(trim($_POST['mdp']));
    $req='SELECT pseudo FROM membres WHERE mdp="'.$mdp.'" and pseudo="'.$pseudo.'"';
    $res=mysql_query($req) or die mysql_error();
        if(mysq_num_rows($res)>0)//verifie si il existe au moins une ligne
            {
                session_regenrate_id();//regenration de du num° de session
                #enregistrement dans le session
                $_session['pseudo']=$pseudo;
                $_session['auth']='oui';/*permet juste de savoir si la session en cour est valide*/
               header('location:espace.php')//on va sur l'espace securisé
            }
    else
        {
           header('location:authentification.htm');
        }
?>
une foi sur l'espace securiser tu devra mettre en petit script en tete de chaque page qui verifie si les sessions sont bien valide

tu devrai demander a un modo de deplacer ton sujet dans php debutant

par FireHunter » 22 oct. 2005, 23:34

Désolé j'ai rien calé...
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" > 
    <head>
	<title>Test</title>
	</head>
	<body>
	
<form action="perso.php" method="post"> 
Pseudo :<br /> <input type="text" name="pseudo" /><br /> 
Mot de Passe :<br />  <input type="text" name="mdp" /><br /> 

<input type="submit" value="Envoyer" /> 
</p> 

</form>

</body>
</html>
Cette page a donc l'extension XHTML

Ensuite la page perso doit-elle ressembler à ça :
<?php
session_start(); // On démarre la session AVANT toute chose 
mysql_connect("localhost", "root", "mdp"); 
mysql_select_db("sessions_membres");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" > 
    <head>
	<title>Test</title>
	</head>
	<body>	
	
<?php
	#netoyage des variables 
	$pseudo= addslashes(trim($_POST['pseudo'])); 
	$mdp = addslashes(trim($_POST['mdp'])); 
	$req='SELECT pseudo FROM membres WHERE mdp="'.$mdp.'" and pseudo="'.$pseudo.'"'; 
	$res=mysql_query($req) or die mysql_error(); 
		if(mysq_num_rows($res)>0)//verifie si il existe au moins une ligne 
			{ 
				session_regenrate_id();//regenration de du num° de session 
				#enregistrement dans le session 
				$_session['pseudo']=$pseudo; 
				$_session['auth']='oui';/*permet juste de savoir si la session en cour est valide*/ 
				echo 'autoriser'; 
			} 
	else 
		{
			echo 'refus';
		}
?>
?

par jeff » 22 oct. 2005, 23:26

le doctype tu le met dans une page ou il des sorties HTML
c'est a dire une page que vera l'utilisateur ce qui n'est pas le cas de la page perso.php

perso.php devra aller a ton espace priver si l'authentification et reussi sinon aller a ta page d'authentification.htm
mais en aucun cas l'internaut ne vera perso.php

par FireHunter » 22 oct. 2005, 23:22

Ok :lol!:

Sinon je mets TOUT avant le
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
Ou alors je sépare ? :mrgreen:

_________________

The newbie

par jeff » 22 oct. 2005, 23:19

non c'est mieux de les mettre des foi que cette regle change un jour :?