Notice: Undefined index

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

Re: Notice: Undefined index

par damien_55 » 12 déc. 2013, 19:03

Cette variable
$_FILES['avatar']['name']
est indéfini. il faut l'initialisé.

Pense aussi à la remarque de moogli.

Re: Notice: Undefined index

par flavbleach » 12 déc. 2013, 18:47

"$fichier = basename($_FILES['avatar']['name']);" //l22

Re: Notice: Undefined index

par damien_55 » 12 déc. 2013, 18:10

hello,
( ! ) Notice: Undefined index: avatar in C:\wamp\www\account\uploadfichier.php on line 22
Dans ta fichier uploadfichier.php, que contient ta ligne 22 ?

Re: Notice: Undefined index

par flavbleach » 12 déc. 2013, 18:02

Mais même si je rajoute un :
If (isset($_POST['avatar'])){
}
ça ne fonctionne toujours pas :/

Re: Notice: Undefined index

par moogli » 11 déc. 2013, 23:11

salut,


ceci est normal, lorsque tu affiche la page, le formulaire n'est pas posté donc les index n'existe pas.

il faut que tu conditionne la validation du formulaire afin d'être certain que celui est posté.
généralement on utilise l’existence d'un (ou plusieurs) champs dans le tableau $_POST (ou $_GET si tu utilise ma méthode $_GET).


@+

Re: Notice: Undefined index

par flavbleach » 11 déc. 2013, 21:17

( ! ) Notice: Undefined index: avatar in C:\wamp\www\account\uploadfichier.php on line 22
Call Stack
# Time Memory Function Location
1 0.0003 140160 {main}( ) ..\bdd.php:0
2 0.0006 148552 include( 'C:\wamp\www\account\uploadfichier.php' ) ..\bdd.php:7

( ! ) Notice: Undefined index: avatar in C:\wamp\www\account\uploadfichier.php on line 24
Call Stack
# Time Memory Function Location
1 0.0003 140160 {main}( ) ..\bdd.php:0
2 0.0006 148552 include( 'C:\wamp\www\account\uploadfichier.php' ) ..\bdd.php:7

( ! ) Notice: Undefined index: avatar in C:\wamp\www\account\uploadfichier.php on line 26
Call Stack
# Time Memory Function Location
1 0.0003 140160 {main}( ) ..\bdd.php:0
2 0.0006 148552 include( 'C:\wamp\www\account\uploadfichier.php' ) ..\bdd.php:7

Merci :D

Re: Notice: Undefined index

par damien_55 » 11 déc. 2013, 21:14

tu peux nous donner le message d'erreur en entier, svp.

Re: Notice: Undefined index

par flavbleach » 11 déc. 2013, 20:29

Voici le code en entier :
<?php
include ('../pages/entetelog.php');
include ('../secur/vars.php');
mysql_connect('xxxxx','xxxxx','xxxxx') or die();
mysql_select_db('xxxx')or die();
?>
<center>
<table border="1px">
<th>
<form method="POST" action="" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="100000">
	<input type="file" name="avatar"/>
	<input type="submit" value="Uploader !"/>
</form>

</th>
</table>

<?php
$dossier = '../fichiersmembre/';
$fichier = basename($_FILES['avatar']['name']);
$taille_maxi = 20000000;
$taille = filesize($_FILES['avatar']['tmp_name']);
$extensions = array('.png', '.gif', '.jpg', '.jpeg');
$extension = strrchr($_FILES['avatar']['name'], '.'); 
//Debut des verifications de securite...
if (isset($_POST['avatar'])){
}else{
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
     $erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc...';
}
if($taille>$taille_maxi)
{
     $erreur = 'Le fichier est trop gros...';
}
if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
{
     //On formate le nom du fichier ici...
     $fichier = strtr($fichier, 
          'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiii?ooooouuuuyy', 
          'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
     $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
	 $query2 = mysql_query("INSERT INTO fichiers VALUES ('','$fichier')") or die(mysql_error());
     if(move_uploaded_file($_FILES['avatar']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ca a fonctionne...
     {
          echo 'Upload effectue avec succes !';
     }
     else //Sinon (la fonction renvoie FALSE).
     {
          echo 'Echec de l\'upload !';
     }
}
else
{
     echo $erreur;
}
}
?>
</center>

Re: Notice: Undefined index

par damien_55 » 11 déc. 2013, 20:27

Slt,

Notice undefined index veut dire que tu as une variable indefini dans ton script.

Le message d'erreur t'indique la ligne dans ton code ou est placé cette variable et ainsi savoir laquelle c'est. Tu dois initialisé cette variable dans ton code.

Notice: Undefined index

par flavbleach » 11 déc. 2013, 20:11

Bonjour, depuis quelque chose, cette erreur intervient avec le code suivant, et je ne comprends pas pourquoi il ne trouve pas "avatar" (sachant que le formulaire est avant) :
Le truc c'est que le code fonctionne sur mon site en ligne mais pas avec WampServer en local...

<?php
$dossier = '../fichiersmembre/';
$fichier = basename($_FILES['avatar']['name']);
$taille_maxi = 20000000;
$taille = filesize($_FILES['avatar']['tmp_name']);
$extensions = array('.png', '.gif', '.jpg', '.jpeg');
$extension = strrchr($_FILES['avatar']['name'], '.');
//Debut des verifications de securite...
if (isset($_POST['avatar'])){
}else{
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
$erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc...';
}
if($taille>$taille_maxi)
{
$erreur = 'Le fichier est trop gros...';
}
if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
{
//On formate le nom du fichier ici...
$fichier = strtr($fichier,
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiii?ooooouuuuyy',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
$query2 = mysql_query("INSERT INTO fichiers VALUES ('','$fichier')") or die(mysql_error());
if(move_uploaded_file($_FILES['avatar']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ca a fonctionne...
{
echo 'Upload effectue avec succes !';
}
else //Sinon (la fonction renvoie FALSE).
{
echo 'Echec de l\'upload !';
}
}
else
{
echo $erreur;
}
}
?>

Merci de votre aide ! ^^