8796 sujets
Hello kiki23 et bienvenue,
(sujet déplacé dans le bon salon).
Pour commencer et comme cela est indiqué dans la règle #11, il est demandé que les titres soient évocateurs... ce qui n'est pas le cas du tien : si tous les sujets étaient aussi peu clairs on aurait vraiment du mal à s'y retrouver.
Pourrais-tu STP éditer ton message pour te conformer à cette règle ?
Pour ce qui est de ta question voici un petit exemple :
Modifié par Heyoan (05 Jun 2009 - 03:46)

(sujet déplacé dans le bon salon).
Pour commencer et comme cela est indiqué dans la règle #11, il est demandé que les titres soient évocateurs... ce qui n'est pas le cas du tien : si tous les sujets étaient aussi peu clairs on aurait vraiment du mal à s'y retrouver.

Pourrais-tu STP éditer ton message pour te conformer à cette règle ?
Pour ce qui est de ta question voici un petit exemple :
<?php
// Déclaration des champs (vides ou récupération des $_POST)...
$nom = !empty($_POST['nom']) ? trim($_POST['nom']) : ''; //
$prenom = !empty($_POST['prenom']) ? trim($_POST['prenom']) : ''; //
$toto = !empty($_POST['toto']) ? $_POST['toto'] : ''; //
$erreurs = array();
// Si le formulaire a été envoyé, on teste les champs...
if($_SERVER['REQUEST_METHOD'] == 'POST') {
if(empty($nom)) {
$erreurs[] = 'Le nom doit être renseigné !';
}
if(empty($prenom)) {
$erreurs[] = 'Le prénom doit être renseigné !';
}
if(empty($toto)) {
$erreurs[] = 'Il faut dire comment ça va !';
}
// Si aucune erreur
if(empty($erreurs)) {
// traitement
header("Location: confirmation.php"); // redirection vers page de confirmation du traitement
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Test formulaire</title>
<style type="text/css">
.alert {
color:#990000;
}
</style>
</head>
<body>
<?php
// erreur(s) à afficher ?
if(!empty($erreurs)) {
foreach($erreurs as $erreur) {
echo '<p class="alert">'.$erreur."</p>\n";
}
}
?>
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="post">
<fieldset>
<legend>Identité</legend>
<p>
<label for="nom">Nom : </label>
<input type="text" id="nom" name="nom" value="<?php echo htmlspecialchars($nom); ?>" />
</p>
<p>
<label for="prenom">Prénom : </label>
<input type="text" id="prenom" name="prenom" value="<?php echo htmlspecialchars($prenom); ?>" />
</p>
</fieldset>
<fieldset>
<legend>Questionnaire</legend>
<p>Ça va toi ?</p>
<p>
<input name="toto" value="oui" id="toto_oui" type="radio"<?php if($toto == 'oui') echo ' checked="checked"'; ?> />
<label for="toto_oui">Oui</label>
</p>
<p>
<input name="toto" value="non" id="toto_non" type="radio"<?php if($toto == 'non') echo ' checked="checked"'; ?> />
<label for="toto_non">Non</label>
</p>
<p>
<input name="toto" value="bof" id="toto_bof" type="radio"<?php if($toto == 'bof') echo ' checked="checked"'; ?> />
<label for="toto_bof">Bof</label>
</p>
</fieldset>
<p>
<input type="submit" value="Envoyer" />
</p>
</form>
</body>
</html>
Modifié par Heyoan (05 Jun 2009 - 03:46)
Salut Heyoan
j'ai lue attentivement le code que tu as mis, et j'ai une petite question
Je n'ai pas encore eu l'occasion d'utiliser $_SERVER['PHP_SELF'] mais je suppose qu'il renvoie le nom du fichier (donc son propre nom), mais je ne comprend pas pourquoi coder les caractères spéciaux en html ? il ne peut pas y en avoir dans un nom de fichier si ?
j'ai lue attentivement le code que tu as mis, et j'ai une petite question
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>
Je n'ai pas encore eu l'occasion d'utiliser $_SERVER['PHP_SELF'] mais je suppose qu'il renvoie le nom du fichier (donc son propre nom), mais je ne comprend pas pourquoi coder les caractères spéciaux en html ? il ne peut pas y en avoir dans un nom de fichier si ?
C'est recommandé car $_SERVER['PHP_SELF'] est généré par le navigateur et est potentiellement susceptible d'être modifié.
Edit: plus d'infos sur developpez.com.
Modifié par Heyoan (11 Jun 2009 - 16:03)
Edit: plus d'infos sur developpez.com.
Modifié par Heyoan (11 Jun 2009 - 16:03)