problème récupération de variable

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 : problème récupération de variable

par Ajoloca » 22 nov. 2006, 16:01

Bonjour,
C'est bien ça.
C'est l'équivalent de
if(isset($_POST['id'])){
   $id = $_POST['id'];
}else{
   $id = "";
}

par RilaX » 22 nov. 2006, 15:51

Bonjour,

Avant de pouvoir utiliser une variable transmise d'une autre page via la balise form tu dois la récupérer comme ceci
$id = (isset($_POST['id']) ? $_POST['id'] : '');

Salut, ce message n'a pour seul but que d'eclairer ma lanterne personnelle a moi que j'ai.
J'ai depuis toujours du mal avec cette syntaxe que tu utilise ici Ajoloca, mais je crois que je viens de la comprendre. J'aimerai donc savoir si mon raisonnement est bon :
En gros, et si j'ai bien compris donc, $id = (isset($_POST['id']) ? $_POST['id'] : ''); signifie que si $_POST['id'] existe (a été declaré, possede un valeur) on affecte cette valeur (l'expression entre le ? et les : ) a $id, sinon on affecte a $id la valeur apres les : donc ici rien ''

par grob » 22 nov. 2006, 14:42

merci beaucoup!

par Ajoloca » 22 nov. 2006, 14:28

Bonjour,

Avant de pouvoir utiliser une variable transmise d'une autre page via la balise form tu dois la récupérer comme ceci
$id = (isset($_POST['id']) ? $_POST['id'] : '');

problème récupération de variable

par grob » 22 nov. 2006, 14:22

Bonjour,
j'ai un formulaire permettant de choisir un membre et de lui ajouter un media (photo, video ou autre)
mais je n'arrive pas dans le fichier de traitement php à récupérer la variable "id", ça me dit Undefined variable. Est ce que quelqu'un pourrait m'expliquer pourquoi?
Merci d'avance,
Voici mon code :

html:

Code : Tout sélectionner

<form method="post" enctype="multipart/form-data" action="upload_photo.php"> <label>id du membre : </label> <input type="text" name="id" size="30" /><br /> <input type="file" name="media" size="50"> <input type="hidden" name="MAX_FILE_SIZE" value="2000000" /> <input type="submit" name="upload" value="Uploader"> </form>
php :
   if( isset($_POST['upload']) ) 
{
// choisir traitement selon type
	$type_file = $_FILES['media']['type'];
    $content_dir = "../membres/membre".$id; // dossier où sera déplacé le fichier
	$img_dir = $content_dir."/img/";
	$sons_dir = $content_dir."/sons/";
	$autres_dir = $content_dir."/autres/";
	switch ($type_file) {
	    case 'image/jpg' || 'image/jpeg' || 'image/png ' || 'image/bmp' || 'image/gif'  :
	        echo "image/jpg";
			$current_dir = $img_dir;
	        break;
		case 'audio/mpeg' || 'audio/wav':
	        echo "audio";
			$current_dir = $sons_dir;
	        break;
		default :
		    echo $type_file." n est pas un format attendu";
			$current_dir = $autres_dir;
			break;
		}
	
	echo $current_dir;
	// on crée le répertoire que s'il n'existe pas.
	if(!is_dir($current_dir)){
	 mkdir ("$$current_dir", 0777);
    }
    $tmp_file = $_FILES['media']['tmp_name'];
    if( !is_uploaded_file($tmp_file) )
    {
        exit("Le fichier est introuvable");
    }
// penser àrentrer les infos dans la bd
   
    // on copie le fichier dans le dossier de destination
   $name_file = $_FILES['media']['name'];
			
    if( !move_uploaded_file($tmp_file, $current_dir.$name_file) )
    {
        exit("Impossible de copier le fichier dans ".$current_dir);
    }

    echo "Le fichier a bien été uploadé";
}

?>