Application web

Fermé
manelion Messages postés 5 Date d'inscription jeudi 17 juillet 2014 Statut Membre Dernière intervention 7 août 2015 - 18 févr. 2015 à 12:46
lolosb Messages postés 292 Date d'inscription samedi 31 octobre 2009 Statut Membre Dernière intervention 20 février 2015 - 19 févr. 2015 à 15:54
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;
}

?>
A voir également:

2 réponses

lepro34 Messages postés 124 Date d'inscription mardi 12 août 2014 Statut Membre Dernière intervention 3 juin 2016 5
18 févr. 2015 à 13:11
Tu peut me faire la traduction en c++?

--
0
lolosb Messages postés 292 Date d'inscription samedi 31 octobre 2009 Statut Membre Dernière intervention 20 février 2015 32
Modifié par lolosb le 19/02/2015 à 15:55
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