1

bonsoir

j'ai un une page.php et dedans j'ai un formulaire avec un nom et un pass
si je rentre un nom et pass qui n'existe pas dans ma BD
j ai fait de telle sorte qu'un message s'affiche avec "alert"

mon soucis et que chaque fois que j'actualise ,
le navigateur me renvoie un message d avertissement et juste apres mon petit message

le traitement et l'affichage se trouvent sur le meme fichier "page.php"
Comment eviter cela?

Cordialement.

2

l>      </body> </html>voici un petit exemple : <?php      session_name('ta_session');      session_start();            if (count($_POST)>0)      {           if (isset($_POST['id_user']) && isset($_POST['id_pass']))           {                if (get_magic_quotes_gpc())                {                     $id_user = stripslashes($_POST['id_user']);                          $id_pass = stripslashes($_POST['id_pass']);                     }                else                {                     $id_user = $_POST['id_user'];                          $id_pass = $_POST['id_pass'];                     }                // ICI : VERIFICATION DE id_user ET id_pass EN BASE DE DONNEE                if ($id_user=='test' && $id_pass=='test')                {                     $_SESSION['id_user'] = $id_user;                     unset($_SESSION['ref_msg']);                }                else                {                     unset($_SESSION['id_user']);                          $_SESSION['ref_msg'] = "Erreur d'identification";                }           }           else           {                unset($_SESSION['id_user']);                     $_SESSION['ref_msg'] = "Tricheur !!!";           }           header('location: '.$_SERVER['PHP_SELF']);                }            $msg = isset($_SESSION['ref_msg']) ? $_SESSION['ref_msg'] : null; ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html>      <head>           <title>Identification</title>           <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">      </head>      <body> <?php      if (isset($_SESSION['id_user']) && $_SESSION['id_user'])      { ?>           <br>           <br>           Vous êtes déjà identifié sous le nom <b><?php echo $_SESSION['id_user']; ?></b><br>           <br>           <br> <?php      }      else      { ?>           <br>           <br>           <form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>" onsubmit="return true">                User : <input type="text" name="id_user" value=""><br>                Pass : <input type="password" name="id_pass" value=""><br>                <input type="submit" value="s'identifier">           </form>           <br> <?php if ($msg) echo $msg.'<br>'; ?>           <br> <?php      } ?>           <small>(c)2008 Spipu</smal
Ancien pseudo : lolo

3

okay merci
j ai finalement reussi
maintenant j'aimerai juste savoir comment je pourrai ecrire ceci ?


$URL = getenv("SCRIPT_NAME"); header('Location: \'$URL\'?msg=msg');

Cordialement.

4

heu, tu veux dire quoi par la ?

par contre, je préfere plutot utiliser $_SERVER['PHP_SELF'] que SCRIPT_NAME car j'ai rencontré des pbs de non existance ou de répertoire foireux sur certaines config...
Ancien pseudo : lolo

5

j'ai trouvé mais je sais jamais quand il faut utiliser les ' ' ou les " "
quelqu'un peut-il m'expliquer svp ?
c'etait juste que le code precedent ne marchait pas

celui-ci oui :

$URL = getenv("SCRIPT_NAME");

header("Location:".$URL."?msg=msg"); //ou //header("Location: $URL?msg=msg");

6

la, c'est une des bases de PHP... il vaut mieux que tu te fasses un bon tutorial...

$err = '10';
$msg = 'Erreur '.$err.' trouvée';
$msg = "Erreur ".$err." trouvée";
$msg = "Erreur $err trouvée";


les 3 lignes sont équivalentes...
Ancien pseudo : lolo

7

Mais en pratique les " sont plus lent que les ', donc sauf si besoin explicite (variables dans la chaîne avec $) ne jamais utiliser ".
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes