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.
Spipu Le 06/02/2008 à 10:55 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
Spipu Le 08/02/2008 à 14:38 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...
Mais en pratique les " sont plus lent que les ', donc sauf si besoin explicite (variables dans la chaîne avec $) ne jamais utiliser ".