Version complète: sur le forum Webmaster Hub : Le script PHP ne marche pas.
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
Bimini
Bonjours à tous,

Je commence à apprendre le PHP. Je suis les exercices d'un livre et je suis tomber sur un scripte qui ne fonctionne pas. Il me permet de tester des champs obligatoire. Certes, il existe d'autre moyen d'y parvenir, mais ce scripte se développe à mesure que l'on avance dans le livre. D'où l'interrêt de savoir pourquoi ça ne marche pas. Je pense avoir correctement recopier le code. Il ne me reste plus qu'à supposer que l'erreur est dans le livre. Mais là, ce n'est plus de mon niveau.

Voici le code :

CODE

HTML
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Test des champs vides</title>
</head>

<body>
<?php


// Définir les champs à tester
$etiquettes = array ( "prenom" => "Prénom",
"second_prenom" => "Second prénom",
"nom" => "Nom",
"telephone" => "Téléphone");

// Contrôler tous les champs sauf celui du second prénom

foreach ($HTTP_POST_VARS as $cle => $valeur)
{if ($cle != "second_prenom")
{ if ( $valeur == "" )
{ $champVide[$cle] = "blanc";
}
}
}


$champVide["prenom"] = "blanc";


// Si l'un des champs est vide, afficher un message

if (@sizeof($champVide) != "") //en cas de champs vide
{ echo "<b> Un des champs obligatoire n'a pas été renseigné. Vous devez saisir :</b><br>";

// Affichage du nom des informations requises

foreach($champVide as $cle => $valeur)
{ echo "&nbsp;&nbsp;&nbsp;{$etiquettes[$cle]}<br>";
}

// réafficher le formulaire

echo "<p><hr>
<form action='testblanc.php' method='post'>
<center>
<table width='95%' border='0' cellspacing='0' cellpadding='2'>
<tr>
<td align='right'><b>{$etiquettes['prenom']}:</br></td>
<td><input type ='text' name='prenom' size='35' maxlenght='35' value='$prenom' > </td>
</tr>
<tr>
<td align='right'><b>{$etiquettes['second_prenom']}:</br></td>
<td><input type ='text' name='second_prenom' size='35' maxlenght='35' value='$second_prenom' > </td>
</tr>
<tr>
<td align='right'><b>{$etiquettes['nom']}:</br></td>
<td><input type ='text' name='nom' size='35' maxlenght='35' value='$nom' > </td>
</tr>
<tr>
<td align='right'><b>{$etiquettes['telephone']}:</br></td>
<td><input type ='text' name='telephone' size='35' maxlenght='35' value='$telephone' > </td>
</tr>
<table>
<p><input type='submit' value='Validez'>
</form>
</center>";
exit();

}

echo "Bienvenue...";

?>
</body>


Ce scripte me fait tourner en bourique. Si quelqu'un trouve la solution à mon problème, ce serait un grand soulagement.

Je vous remercie par avance,

Michaël.
NorSeb
Bonjour,

Qu'est-ce qui ne marche pas exactement ? As-tu un message d'erreur ?

Et que fait le exit(); en fin de script ?
ludo88
et c'est quoi ton problème parce que moi je l'ai installé sur mon serveur et je vois des choses bizarres mais le script fait ce qu'il ya d'écrit

Si par exemple tu veux que le formulaire apparaisse tout le temps, il faut remonter l'accolade de la ligne apres exit() et tu la passes avant la ligne
// reaffichage du formulaire
et le formulaire appraitra à chaque fois

Le mieux si tu veux une reponse : c'est une question tongue.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.