Authentification

Fermé
emna.hidr Messages postés 34 Date d'inscription lundi 25 février 2013 Statut Membre Dernière intervention 1 mars 2013 - 1 mars 2013 à 09:59
emna.hidr Messages postés 34 Date d'inscription lundi 25 février 2013 Statut Membre Dernière intervention 1 mars 2013 - 1 mars 2013 à 15:10
Bonjour,
je suis entrain de développer un site web, j'ai fait un formulaire d'authentification pour se connecter à un espace administrateur. j'ai une erreur que j'ai pas pu le résoudre:
Notice: Undefined index: login in C:\xampp\web\htdocs\g_h travelv1\index.php on line 5

Notice: Undefined index: psw in C:\xampp\web\htdocs\g_h travelv1\index.php on line 6
Couple utilisateur / mot de passe inconnu, veuillez réessayer.


voici mon code d'authentification:

<?php
session_start();

// connexion au serveur MYSQL
$login=$_POST['login'];
$psw=$_POST['psw'];

mysql_connect("localhost","root","") or die("erreur de connexion au serveur".mysql_error());
// Ouverture de la base de données Terminale
mysql_select_db("ghts") or die ("erreur de connexion à la base");
// Requete
$sql="select * from auth where login='".$login."' AND pass = '".$psw."' ";
$requete=mysql_query($sql) or die ("erreur dans la requête");

//Fermeture de la connexion à Mysql
mysql_close();

$res= mysql_num_rows($requete);
if ($res==0)
{
echo "Couple utilisateur / mot de passe inconnu, veuillez réessayer </br>"; // a revoir
}
else
{
// --- enregistrement en session de l'utilisateur
$_SESSION["login"] = $login;
// --- redirection en fonction de l'utilisateur
if ( $login == "admin" ){
header("Location: enregis_vol.php");
exit();
}else if ($login == "..." ){
header("Location: ...");
}
}
?>



Merci de me répondre :)

1 réponse

ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
1 mars 2013 à 10:00
Le script ne trouve pas tes variables $_POST['login'] et $_POST['psw'] le soucis doit venir de ton formulaire.
0
emna.hidr Messages postés 34 Date d'inscription lundi 25 février 2013 Statut Membre Dernière intervention 1 mars 2013
1 mars 2013 à 10:07
voici comment j'ai crée le formulaire d'authentification:
<form action="" method="post" name="connect"><table width="241"><tr>
<td width="85" class="header_03">Login</td>
<td width="144"> <input type="text" name="login" /></td></tr>
<tr>
<td class="header_03">mot de passe</td><td> <input type="password" name="psw" /></td></tr>

<tr><td></td><td>
<input type="submit" value=" se connecter " style="width:100px;height:30px" />
</td></tr></table></form>
je trouve pas l'erreur.
Cordialement.
0
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
1 mars 2013 à 10:26
ton code php est dans la même page ?

il faut vérifier que ces variables existent

<?php

session_start();

if (isset($_POST) && isset($_POST['login']) && isset($_POST['psw'])) {
// connexion au serveur MYSQL 
    $login = $_POST['login'];
    $psw = $_POST['psw'];

    mysql_connect("localhost", "root", "") or die("erreur de connexion au serveur" . mysql_error());
// Ouverture de la base de données Terminale 
    mysql_select_db("ghts") or die("erreur de connexion à la base");
// Requete 
    $sql = "select * from auth where login='" . $login . "' AND pass = '" . $psw . "' ";
    $requete = mysql_query($sql) or die("erreur dans la requête");

//Fermeture de la connexion à Mysql 
    mysql_close();

    $res = mysql_num_rows($requete);
    if ($res == 0) {
        echo "Couple utilisateur / mot de passe inconnu, veuillez réessayer </br>"; // a revoir 
    } else {
// --- enregistrement en session de l'utilisateur 
        $_SESSION["login"] = $login;
// --- redirection en fonction de l'utilisateur 
        if ($login == "admin") {
            header("Location: enregis_vol.php");
            exit();
        } else if ($login == "...") {
            header("Location: ...");
        }
    }
}
?> 
0
emna.hidr Messages postés 34 Date d'inscription lundi 25 février 2013 Statut Membre Dernière intervention 1 mars 2013
1 mars 2013 à 10:43
Merci beaucoup :) problème résolu.
j'ai un autre problème si vous me permettez de le poster ici.
j'ai crée un formulaire vol qui permet de rechercher les vols disponibles j'ai un problème lors de l'affichage du résultat. en fait je souhaiterai afficher la campany le tarfi la date de départ et la date de retour mais voici ce que je reçoit:
Connexion réussie
Campany tarif heure depart heure arrive.

voici mon code:

<?php
$host = "localhost";
$user = "root";
$pass = "";
$bdd = "ghts";
$depart=$_POST['depart'];
$arrive=$_POST['arrive'];
$date_dep=$_POST['date_dep'];
$date_arr=$_POST['date_arr'];

$cnx= mysql_connect($host,$user,$pass) or die("Impossible de se connecter");
$db = mysql_select_db($bdd) or die("Impossible d'ouvrir la base de données ");
if (mysql_connect ($host,$user,$pass))
{
echo "Connexion réussie"; echo "<br>";
}
else
{
echo "Connexion impossible...".mysql_error(); echo "<br>";
}
$query="SELECT * FROM ghts_vol WHERE lieu_depart='".$depart."' AND DATE_FORMAT(date_depart,'%d/%m/%Y')='".$date_dep."'";
$requete = mysql_query( $query, $cnx ) or die(mysql_error());

//récupération avec mysql_fetch_array(), et affichage de résultats :
echo("<table border=\"1\" cellpadding=\"0\" cellspacing=\"1\" align=\"center\" style=\"border-color:\"#999\" width=\"800px\">\n");
echo( "<tr>
<td><div align=\"center\">Campany</div></td>
<td><div align=\"center\">tarif</div></td>
<td><div align=\"center\">heure depart</div></td>
<td><div align=\"center\">heure arrive</div></td>
</tr>" );
while($result = mysql_fetch_array($requete))
{
echo( "<tr>\n" );
echo( "<td><div align=\"center\">".$result['campany']."</div></td>\n" );
echo( "<td><div align=\"center\">".$result['tarif']."</div></td>\n" );
echo( "<td><div align=\"center\">".$result['heure_depart']."</div></td>\n" );
echo( "<td><div align=\"center\">".$result['heure_arrive']."</div></td>\n" );
echo( "</tr>\n" );
}
echo( "</table>\n" );
mysql_close() ;
?>
0
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
1 mars 2013 à 11:04
j'imagine que la requête ne renvoi pas les données souhaitées

si tu fais echo $query; avant le mysql_query, la requête ressemble à quoi ?
0
emna.hidr Messages postés 34 Date d'inscription lundi 25 février 2013 Statut Membre Dernière intervention 1 mars 2013
1 mars 2013 à 11:11
c'est ce qui m'a ajouté:
SELECT * FROM ghts_vol WHERE lieu_depart='Tunis' AND DATE_FORMAT(date_depart,'%d/%m/%Y')='03/27/2013'
0