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 -
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;
}
?>
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:
- Application web
- Web office - Guide
- Nommez une application d'appel vidéo ou de visioconférence - Guide
- Desinstaller application windows - Guide
- Création site web - Guide
- Comment supprimer une application préinstallée sur android - Guide
2 réponses
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 :)
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:
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
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