Application web

manelion Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -  
lolosb Messages postés 292 Date d'inscription   Statut Membre Dernière intervention   -
bonjour mes amis
je devellope actuellement une application web pour une entreprise comportant trois utilisateur. donc j'ai creer un base de donne "user". les utilisateur en fonction de leur profil doivent dirigé vers les pages. ce script que j'ai developpé a du mal à fonctionner. voici le scripte. j'attend impatiemment votre aide merci de m"aider!!!
<?php
session_start();
include("connexpdo.inc.php");
$idcom=connexpdo('stage','myparam');// base et parametre d'inclusion//
if(!empty($_POST['user']) && !empty($_POST['pwd'] ))//user et pwd sont des donnees du formulaire//
{
//Requete sql

$user=$_POST['user'];
$pass=$_POST['pwd'];
$requete="SELECT login, pass FROM user
where login='$user' and pass='$pwd'";
$result=$idcom->query($requete);
if(!$result){

$mes_erreur=$idcom->errorInfo();
echo "Erreur de code!!!",$idcom->errorCode(),$mes_erreur[2];
}

else{
$compte=$result->fetchObject();

if(($compte->pass!=$_POST['pwd'])){

echo "erreur de lecture";
}
else{

header("Location:direct.php");
}
}
$result->closeCursor();
$idcom=null;
}

?>

2 réponses

lepro34 Messages postés 124 Date d'inscription   Statut Membre Dernière intervention   5
 
Tu peut me faire la traduction en c++?

--
0
lolosb Messages postés 292 Date d'inscription   Statut Membre Dernière intervention   32
 
Salut

Si tu postes un code, utilise la fonction dédiée afin que le code soit affiché avec une colorisation de la syntaxe ;)

Le voici, pour mieux l'illustrer :)
<?php 
session_start(); 
include("connexpdo.inc.php"); 
$idcom=connexpdo('stage','myparam');// base et parametre d'inclusion// 
if(!empty($_POST['user']) && !empty($_POST['pwd'] ))//user et pwd sont des donnees du formulaire// 
{ 
//Requete [/contents/1062-le-langage-sql sql] 

$user=$_POST['user']; 
$pass=$_POST['pwd']; 
$requete="SELECT login, pass FROM user 
where login='$user' and pass='$pwd'"; 
$result=$idcom->query($requete); 
if(!$result){ 

$mes_erreur=$idcom->errorInfo(); 
echo "Erreur de code!!!",$idcom->errorCode(),$mes_erreur[2]; 
} 

else{ 
$compte=$result->fetchObject(); 

if(($compte->pass!=$_POST['pwd'])){ 

echo "erreur de lecture"; 
} 
else{ 

header("Location:direct.php"); 
} 
} 
$result->closeCursor(); 
$idcom=null; 
} 

?>


La première chose que j'ai remarqué est que tu utilise PDO sans prepared statements. Va voir cela parce que c'est vraiment très utile et nescessaire pour un site sécurisé :) en fait tu transmets par ce moyen les variables de ta requête séparément afin d'éviter les sql injections.

Alors c'est quoi l'erreur qui s'affiche? une erreur spécifique? une page blanche?

Je dirai, déjà une page blanche à cause de ceci:
echo "Erreur de code!!!",$idcom->errorCode(),$mes_erreur[2];
.
Les virgules doivent être remplaçées par des points si tu souhaites "echoer" la chaine entière avec le code d'erreur...

Ensuite, je te conseilles de ne pas sauvegarder le mot de passe tel quel dans la base de données. Il faut toujours l'encrypter et chaque fois que l'utilisateur doit donner son mdp, il faul l'encrypter de la même mannière et comparer le hash... (md5(), crypt(), et/ou ton même scripte)

Loïc
bien cordialement,
Loïc
0