Aller au contenu

Le script PHP ne marche pas.


Sujets conseillés

Posté

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 :


[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 "   {$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>[/html]

Posté

Bonjour,

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

Et que fait le exit(); en fin de script ?

Posté

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 :P

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...