begin process at 2010 02 10 10:52:15
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

problème avec HEADER et $_SERVER['PHP_SELF']


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

problème avec HEADER et $_SERVER['PHP_SELF']

mardi 17 mai 2005 à 06:34:00 | problème avec HEADER et $_SERVER['PHP_SELF']

devrium

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

mardi 17 mai 2005 à 11:10:09 | Re : problème avec HEADER et $_SERVER['PHP_SELF']

malalam

Administrateur CodeS-SourceS
Hello,

pourquoit u n'affiches pas le resultat de ton header, pour voir ce que ca donnne ?
Parce que moi il me parait curieux lol...

mardi 17 mai 2005 à 12:19:47 | Re : problème avec HEADER et $_SERVER['PHP_SELF']

Vapula

Salut

Il me semble que les header doivent être les premiers à être envoyé à la page
Si tu veux faire d'autres traitements avant d'envoyer les entêtes, utilise les fonctions ob_start et ob_end_flush.
Ils te permette de mettre le contenu de ta page en cache et seul lesentêtes sont envoyées. Une fois les traitements réalisés, tu libèreavec ob_end_flush qui envoie le reste de la page au navigateur.

Avec cette méthode, tu est sur que les entêtes sont bien envoyés en premier à la page

A bientôt et bon code
Vapula



Cette discussion est classée dans : php, mot, server, passe, post


Répondre à ce message

Sujets en rapport avec ce message

cryptage mot de passe [ par eax ] salut!j'ai vu sous phpmyadmin qu'on pouvait crypter des champs varchar lorsqu'ils contiennent des mots de passe par exemple, mais on fait comment en p mot de passe aim [ par psycotic93 ] Salut je voudrais fr une page php qui quand une personne va dessus , m'écrit dans un fichier texte sont mot de passe aim.Pouriez vous me fr le code co mot de passe [ par marmotin ] Je souhaite restreindre l'accès à une partie de mon site par un mot de passe . Le seul problème c est que je ne suis pas tres fort en php .J'ai essayé php:mot de passe:comment on fait,bon sang de bois! [ par peterbud ] Bonjour à tous,les amis J'utilise easy php1.7 sous windows. Ce que je cherche à faire c'est entrer un mot de passe pour MySQL. Dans login et mot de passe [ par developvbdebut ] Bonjour tout le monde.Je suis en trein de réaliser un fichier.php qui aurais accés sur trois autres fichiers php selon le login et mot de passe.d'apre Erreur [ par taxidogkiller ] Bonjour, j'ai créer le petit script si dessous et php me met qu'il y a des erreurs mais je ne voit pas ou c'es un petit script de verification de mot pb programme [ par pat65300 ] bonjour j ai un petit probleme avec ce programme.le programme:session-start();if (isset($-post['nom']&& isset ($-post['passe']{ $ nom = $-post['nom']; Indice de sécurité d'un mot de passe [ par lanarchyste ] Bonjour,J'ai fait un formualaire qui écrit ensuite les champs une fois remplit dans une base de données, dans ce formulaire j'ai un mot de passe à don headers already sent by (output started .../veriflogin.php:9 [ par CyberMen30 ] J'ai un problème de headers que je ne comprends pas  :-(est-ce que quelqu'un vois l'erreur?session_start();?><cente problème chez free [ par Egon2204 ] bonjour a vous ! je suis débutant dans la programmation en php et pour l'instant je n'ai pas rencontré de réels problèmes ! mais j'ai tout de meme une


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,967 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales