Erreur dans du code

Sogeekette Messages postés 39 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 1 février 2008 - 2 mai 2007 à 10:08
juki_webmaster Messages postés 947 Date d'inscription mercredi 19 novembre 2003 Statut Membre Dernière intervention 5 avril 2008 - 2 mai 2007 à 10:36
Bonjour,
voici une partie de mon code :

<?php
$_POST['pays']='';
$_POST['fichier']='';
$_POST['famille']='';

if (isset($_POST['action'])) {
reset($_POST['action']);
list($action,$valeur) = each($_POST['action']);
switch($action) {
case 'valider' :


session_start();//on démarre la session
if (isset($_POST['pays'])&&isset($_POST['fichier'])&&isset($_POST['famille']))
// on récupére les variables
{
$formPays = trim ($_POST['pays']);
$formFichier = trim ($_POST['fichier']);
$formFamille = trim ($_POST['famille']);

if(empty($formPays) && empty($formFichier) && empty($formFamille)){
?>
<html>
<script language="JavaScript"><!--
function test(champ) {
if(champ.value!="") return true
alert("Tous les champs obligatoires ne sont pas saisies.")
champ.focus()
return false
}
//--></script>
<?
}else {
$_SESSION['pays'] = $formPays;
$_SESSION['fichier'] = $formFichier;
$_SESSION['famille'] = $formFamille;
}}

break;
case 'plus' :
// modifier ce qu'il faut pour réafficher le formulaire avec une ligne en plus
break;
}
} ?>


<head>
<link rel="stylesheet" type="text/css" href="./style.css" />
</head>




Saisie




<form method=\"post\" enctype=\"text/plain\" name=\"formulaire\" onSubmit=\"return test(this.pays && this.fichier && this.famille)\" action=\"saisieOk.php\">
----

Pays de Destination *,
Fichier *,
Famille *,
Commentaire,

,
,

<select name="famille" size="1">
<option>a</option>
<option>b</option>
<option>c</option>
</select>,

,

* : Champs obligatoires.


</html>

Quand je l'insére avec les autres parties que j'ai créées, une fenêtre d'erreur s'affiche en disant "une erreur est survenue ligne 2 erreur : identificateur attendu".
Je ne comprends pas ce qu'est l'erreur.
De plus, je ne sais pas comment rajouter une ligne de saisie si l'utilisateur clique sur ajouter une ligne de saisie.

Merci de votre aide.

1 réponse

juki_webmaster Messages postés 947 Date d'inscription mercredi 19 novembre 2003 Statut Membre Dernière intervention 5 avril 2008 3
2 mai 2007 à 10:36
Salut,


$_POST['pays']=''; << ceci ecrase ce que le formulaire envoie.


+ enctype="text/plain" (????) << vu que tu upload un fichier il faut que enctype soit : "multipart/form-data"

$_POST['fichier'] << n'existeras pas, sera $_FILES['fichier'] voir :

http://fr3.php.net/manual/fr/features.file-upload.php


Il faut que if (isset($_POST['action'])) + if (isset($_POST['pays'])&&isset($_POST['fichier'])&&isset($_POST['famille'])) + if(empty($formPays) && empty($formFichier) && empty($formFamille)){ soit evalué comme vrai pour que ton script JavaScript soit envoyer.


case 'plus' :
// modifier ce qu'il faut pour réafficher le formulaire avec une ligne en plus
break;
Le PHP est executé coté serveur, ici le Javascript le ferais aussi bien.


"rajouter une ligne de saisie" << div + Javascript + inner.HTML, tes champs devrons avoir un nom de ce type : name="pays[]"
0
Rejoignez-nous