salut à tous,
voilà je developpe un petit script en php qui est le suivant :
<?php
if (isset($_POST['submit']))
{
//Mon fichier "mysql_connect2.php" contient la fonction de Connexion à la base de données
require_once ('mysql_connect2.php');
//Je crée une fonction pour échapper les données.
function echappement ($data)
{
if (ini_get('magic_quotes_gpc'))
{
$data = stripslashes($data);
}
return mysql_escape_string($data);
} //fin de la fonction !!
//traitement du formulaire
$message = NULL;
//et je commence les vérifications, en commençant par le nom d'utilisateur.
if (empty($_POST['login']))
{
$l = FALSE;
$message .= '<p>Tu as oublié de saisir ton Pseudo. </p>';
}
else
{
$l = echappement($_POST['login']);
}
//je vérifie l'existence de l'ancien mot de passe
if (empty($_POST['mot_de_passe']))
{
$mdp = FALSE;
$message .= '<p>Tu as oublié de saisir ton mot de passe.</p>';
}
else
{
$mdp = echappement($_POST['mot_de_passe']);
}
if ($l && $mdp)
{
//Si tout est correct, j'enregistre l'utilisateur dans la base de données
// je vérifie si l'utilisateur existe déjà
$rq = "SELECT id_utilisateur, prenom FROM utilisateurs WHERE (login = '$l' AND mot_de_passe = PASSWORD('$mdp'))";
//executer la requête
$result = mysql_query ($rq);
$ligne = mysql_fetch_array($result, MYSQL_NUM);
setcookie('nom', $ligne[1], time()+3600, '/', 0);
setcookie('id_user', $ligne[0], time()+3600, '/', 0);
header ("location: http://" . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) ."/accueil.php");
exit(); //et je termine le script
}
else
{
$message = "<p>Le nom d'utilisateur et le mot de passe que tu a entré ne correspondent à aucun utilisateur enregistré.</p>";
}
//je referme la connexion avec la base de données
mysql_close();
}
$titre_page = "login";
include ('entete.inc');
// ici j'affiche éventuellement de nouveau message d'erreur
if (isset($message))
{
echo "<font color='red'>$message</font>";
}
//Ensuite on affiche le formulaire
?>
<form action="<? echo
$_SERVER['PHP_SELF']
; ?>" method="post">
<fieldset>
<legend>Tu dois remplir ce formulaire pour changer ton mot de passe.</legend>
<p><b>Pseudo : </b>
<input type="text" name="login" size="20" maxlength="40" value="<? if(isset($_POST['login'])) echo $_POST['login']; ?>"/>
</p>
<p><b>Saisi ton Mot de passe:</b>
<input type="password" name="mot_de_passe" size="20" maxlength="40" />
</p>
</fieldset>
<div align="center">
<input type="submit" name="submit" value="Tchek nou sa man !!!" />
</div>
</form>
<!-- Fin du formulaire -->
<?
// fin de l'instruction conditionnelle principale
include ('pied_page.inc'); //j'ai inclu le pied de page
?>
mais mon problème est que qu'a chaque fois que je valide le formulaire, (toute condition réuni) ça m'affiche une page disant que la page est introuvable et tout
, en fait je pense que l'erreur vient des occurences à $_SERVER ['PHP_SELF'] et
$_SERVER[' HTTP_POST'], (je les ai mis en rouge), ou bien même qu'elle provient de mon '' HEADER'' mais je ne vois pas comment la corrigée.
Est-ce que quelqu'un peut m'aider stp ?
paske c'est vraiment casse tête 

