Notice: Undefined index: champform in

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Notice: Undefined index: champform in

par bcdvd » 14 juin 2006, 11:28

ca marche super bien, merci a vous 2

Cordialement

par zeus » 14 juin 2006, 11:20

C'est juste qu'au 1er chargement de ta page, comme tu n'as pas encore validé le formulaire, champform est vide.

Pour éviter l'erreur, il faut que tu testes si ce champs existe ou non avec isset.
<?php
  //test l'existence de champform
  if (isset($_POST['champform'])) {
    $rep=$_POST['champform'];
    if(!file_exists($rep)) 
      mkdir ("./$rep", 0777);
  }
?> 
D'une manière générale, il faut toujours tester l'existence des valeurs saisies dans un formulaire ;)

par Ryle » 14 juin 2006, 11:19

C'est parce que tu appelle l'index 'champform' de $_POST sans te soucier de vérifier si celui-ci existe (sur les version récentes de php cela génère un warning lorsqu'ils ne sont pas définis). Quand tu arrives sur le formulaire par l'url, ton $_POST ne contient rien, d'où le message.

Il te suffit donc juste de tester si l'index est défini avec isSet() pour pouvoir l'utiliser :
if (isSet($_POST['champform'])) { // l'index est bien défini
  $rep=$_POST['champform']; 
  .. 
}
else { // éventuellement
  ..
} 

Notice: Undefined index: champform in

par bcdvd » 14 juin 2006, 11:16

Bonjour ;

J'ai un probleme sur une page qui me sert à créer des dossiers sur mon serveur. Voici le code :
<form id="form1" name="form1" method="POST">
  <label></label>
  <label>
  <input name="champform" type="text" id="champform" />
  <input type="submit" name="Submit" value="Envoyer" />
</label>
<?php  
$rep=$_POST['champform']; 
if(!file_exists($rep)) mkdir ("./$rep", 0777);
?>
</form>
En fait tout marche bien mais au premier lançement de ma page j'ai un message d'erreur du type :

Code : Tout sélectionner

Notice: Undefined index: champform in c:\web\sim\2.php on line 18
Je pense qu'il faut déclarer "champform" mais si c'est ça je n'arrive pas à trouver le code qui va bien

Si quelqu'un à une idée je suis preneur

Merci d'avance à tous