Erreur dans du code

Signaler
Messages postés
39
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
1 février 2008
-
Messages postés
947
Date d'inscription
mercredi 19 novembre 2003
Statut
Membre
Dernière intervention
5 avril 2008
-
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

Messages postés
947
Date d'inscription
mercredi 19 novembre 2003
Statut
Membre
Dernière intervention
5 avril 2008
3
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[]"