Probléme d'authentification php !

Fermé
jhd-unknown Messages postés 2 Date d'inscription lundi 12 mars 2012 Statut Membre Dernière intervention 13 mars 2012 - 13 mars 2012 à 17:18
 Utilisateur anonyme - 13 mars 2012 à 22:34
slt;
j'ai ecris une fonction pour l'authentification des comptes avec php qui vérifié le login et le mot de passe dans une base de donnée mysql. L'authentification se passe pas bien lorsque je clic sur login j'en redige vers le fichier auth.php qui se chargera de comparer les informations saisies par l'utilisateur et les informations saisies dans la base de données , la il m'afiche une page blanc vide !

je pense que le probléme est en le connexion avc ma base de donnée ! n'est ce pas ?

Je vous donne le code que j'ai réalisé :
////le code auth.php
<?
session_start();

include("connex.inc.php");

$idcom= new PDO('mysql:host=$host;dbname=$base' ,'$user','$pass');

mysql_connect('localhost','root','');
mysql_select_db('test3');

if(isset($_REQUEST['email']) && isset($_REQUEST['pass']))
{

$requete = "SELECT * FROM submit WHERE 'email'='".$_REQUEST['email']."' AND'pass'='".($_REQUEST['pass'])."'";
if(sql($requete))
{

$_SESSION['auth']="AUTH : OK";
echo "Vous ?tes authentifi?";
} else
{

header("location: index.php");
}
} else
{

header("location: index.php");
}

?>

////le fichier connex.inc.php
<?php
function connex($base,$param)
{
include_once($param.".inc.php");
$idcom=@mysql_connect(MYHOST,MYUSER,MYPASS);
$idbase=@mysql_select_db($base);
if(!$idcom | !$idbase)
{
echo "<script type=text/javascript>";
echo "alert('Connexion Impossible a la base $base')</script>";
}
return $idcom;
}
?>

// le fichier myparam.inc.php
<?php
define("MYHOST","localhost");
define("MYUSER","root");
define("MYPASS","");
?>
A voir également:

1 réponse

Utilisateur anonyme
13 mars 2012 à 22:34
Bon, j'ai refait tous ton script (cétait un peut beaucoup bagdad se que tu nous avais fait)

Alors tu t'enmerde pas, tu créé un fichier "config.php" avec les infos de l'objet PDO :
<?php
$bdd = new PDO('mysql:host=SERVER;dbname=NOM2LABASE', 'TONPASSE');
?>


(Dans un bloc, Try, Catch c'est encore mieu)

Puis tu créé un formulaire en HTML en method POST qui retourne un champ "email" et "pass" et qui appel cette page :

<? 
session_start(); 

# ----------------------------------------------------------
# Fonction qui s'occupe de la zone membre.
# ----------------------------------------------------------
function ZoneMembre($email, $passe) {
	include('config.php');
	$reponse = $bdd->query('SELECT * FROM submit WHERE email=\''.$email.'\' AND passe=\''.$passe.'\'');
	$donnees = $reponse-fetch();
	$reponse->CloseCursor();
	
	$_SESSION['email'] = $email;
	$_SESSION['passe'] = $passe;
	echo 'Bienvenue dans la zone membre :)';
	
	// tu peut récuperer les infos du membre genre : echo 'Ton prenom est '.$donnees['prenom'];
	// Si le champ prenom existe bien sur =)
}

# ----------------------------------------------------------
# Fonction qui s'occupe de vérifier le login et passe.
# ----------------------------------------------------------
function Connexion() {
	include('config.php');
	if(!empty($_POST['email']) && !empty($_POST['pass']))
	{
		$email = htmlentities($_POST['email']);
		$passe = htmlentities($_POST['pass']);

		// Selectionne Tous de la table submit (t'es sur que c'est la bonne table ?)
		$reponse = $bdd->query('SELECT * FROM submit WHERE email=\''.$email.'\'');
		$donnees = $reponse-fetch();
		$reponse->CloseCursor();

		if ($donnee['passe'] != $passe) { echo 'Movais passe !'; }
		else { ZoneMembre($email, $passe) }
		
	}
	else { echo 'Veuillez remplir tous les champs !'; }
}

if (empty($_SESSION['email']) && empty($_SESSION['passe'])) { Connexion(); }
else { ZoneMembre($_SESSION['email'], $_SESSION['passe']); }
	
?> 


J'ai pas testé mais sa devrai fonctionner.
0