Bonjour,
Petit historique avant la question,
j'ai fait un site en php/mysql avec formulaire, mot de passe et tout le toutim...
Tout marche niquel... En fait tout marchait niquel quand j'etais sous easyphp (apache 1.3 et php4)
Voulant pousser le vice plus loin, j'ai installé apache 2, php5, mysql 4.1.2(?) et bien sur phpmyadmin.
Il semble que tout fonctionne correctement, mon phpinfo() s'affiche niquel. J'ai installé ma base de données avec
phpmyadmin.
Sur mon site, il y a donc un formulaire ou on rentre le login et le Mot de Passe, qui renvoie vers membres_identification.php et c'est la mon probleme. Depuis mes changements de config (php5?)
lorsque je valide j'arrive sur une page blanche SANS AUCUNE ERREUR et c'est terminé!
Je me suis dit que code était bon en php4 mais pas en en php5 peut etre.
Voici mon code d'identification (a supposer que ce soit cela l'explication!):
<?php
include ("connexion.php" );
//passage des variables en variables courtes
$login = $_POST['login'];
$pass = $_POST['pass'];
// On selectionne quand le champ login correspond au login entré
// et le champ passe au pass entré.
$sql = "SELECT * FROM liste_membres WHERE login='$login' and pass=sha1('$pass')";
// On execute la requête de selection
$resultat = mysql_query($sql);
// On compte le nombre de ligne des resultats
// 1 : si valide ou 0 si aucun login ne correspond
$exist = mysql_numrows($resultat);
// Si la variable $exist = 0 --> login inexistant ou mauvais mot de passe
if(!$exist) {
// On affiche ce message d'erreur
echo "<h1>Veuillez vérifier vos données</h1>";
// On inclut le formulaire d'identification
include("membres_form_identification.php" );
}
// Sinon, si le login et pass sont valides
else {
// On ouvre la session
session_start();
// On enregistre la variable login qu'on fera passer sur ttes les pages
session_register("login" );
//on incremente la variable de session avec la valeur entrée par l'utilisateur dans le formulaire
$_SESSION['login']=$login;
//On incrémente la table historique des connexions
$sql = "SELECT * FROM historique_connectes WHERE login='$login' ";
// On execute la requête de selection
$resultat = mysql_query($sql);
// On compte le nombre de ligne des resultats
// 1 : si valide ou 0 si aucun login ne correspond
$exist = mysql_numrows($resultat);
// On affiche
?>
<!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>ACCUEIL</title>
<link href="styles/membres.css" rel="stylesheet" type="text/css">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<div id="en_tete">
</div>
<div id="menu">
<?php
// Puis on inclue le menu
include("membres_menu.php" );
?>
</div>
<div id="corps">
ICI mon site
</div>
<div id="pied_de_page">
</div>
<?// Si la variable $exist = 0 --> le login se connecte pour la premiere fois
if(!$exist)
{ // On incrémente la table
echo "<h1>Ceci est votre premiere connexion!</h1>";
$sql = "INSERT INTO historique_connectes VALUES('$login',now(),curtime(),'1')";
mysql_query($sql);
}
else
{
$sql="select * from historique_connectes where login='$login'";
$resultat=mysql_query($sql);
$historique = mysql_fetch_array($resultat);
$nombre=++ $historique['nombre']; //On incrémente le nombre de connexion de 1 à chaque connexion
$jour=$historique['date']; //Variables courtes
$heure=$historique['heure'];
echo "<div class='centre'><p>Votre derniere connexion était le $jour à $heure. <br />";
echo "Ceci est votre $nombre ème connexion à mon site ouaib.</p></div>";
$sql="UPDATE historique_connectes SET date=now(),heure=curtime(), nombre='$nombre' WHERE login='$login'";
mysql_query($sql);
}
}//fermeture du else ou le login et pass sont valides
?>