Probleme Serieux PHP a l'aiiiiiiiiiiiiiide
Fermé
amine-cmoi
Messages postés
15
Date d'inscription
vendredi 15 août 2008
Statut
Membre
Dernière intervention
29 août 2008
-
15 août 2008 à 02:39
amine-cmoi Messages postés 15 Date d'inscription vendredi 15 août 2008 Statut Membre Dernière intervention 29 août 2008 - 29 août 2008 à 16:33
amine-cmoi Messages postés 15 Date d'inscription vendredi 15 août 2008 Statut Membre Dernière intervention 29 août 2008 - 29 août 2008 à 16:33
A voir également:
- Probleme Serieux PHP a l'aiiiiiiiiiiiiiide
- Easy php - Télécharger - Divers Web & Internet
- Bouton php - Forum PHP
- Php?id=1 - Forum PHP
- \R php ✓ - Forum PHP
- Retour à la ligne php ✓ - Forum PHP
13 réponses
Bonjour
"application/x-www-form-urlencoded" est la valeur par défaut de enctype. Pour un upload, justement, il faut la changer et mettre
"application/x-www-form-urlencoded" est la valeur par défaut de enctype. Pour un upload, justement, il faut la changer et mettre
<form method="POST" action="inserer.php" enctype="multipart/form-data">
Il faut reprendre l'idée de kryoportail et mettre au début de ton script
pour comprendre ce qui se passe.
<?php if( isset($_FILES) ) { var_dump( $_FILES ); } echo '---------------<BR>'; ?>
pour comprendre ce qui se passe.
peux-tu dire (cpier-coller) ce que donne var_dump( $_FILES['fichier']) avec Mozilla ?
J'ai fortement l'impression que ton script ne traite ABSOLUMENT PAS le fichier transmis par le formulaire, mais seulement les fichiers déjà présents sur le serveur. Tu fais tes essais en local, non ? Ou en tous cas, le fichier
d'autre part dans <form method="POST" action="inserer_trafic_appel.php"> le ENCTYPE="multipart/form-data" est obligatoire pour télécharger un fichier.
J'ai fortement l'impression que ton script ne traite ABSOLUMENT PAS le fichier transmis par le formulaire, mais seulement les fichiers déjà présents sur le serveur. Tu fais tes essais en local, non ? Ou en tous cas, le fichier
d'autre part dans <form method="POST" action="inserer_trafic_appel.php"> le ENCTYPE="multipart/form-data" est obligatoire pour télécharger un fichier.
amine-cmoi
Messages postés
15
Date d'inscription
vendredi 15 août 2008
Statut
Membre
Dernière intervention
29 août 2008
15 août 2008 à 02:53
15 août 2008 à 02:53
bon , je suis nouveau dans le forum , donc je ne sais pas comment faire pour modifier ce que j'ai déja écrit , donc je voulais vous aussi que ce probleme est présent dans Mozilla fireFox mais sur internet explorer ca marche sans probleme , j'éspère que cela vous aidera a m'aider et merci d'avance
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
kryoportail
Messages postés
222
Date d'inscription
dimanche 10 août 2008
Statut
Membre
Dernière intervention
22 mai 2014
125
15 août 2008 à 05:35
15 août 2008 à 05:35
Salut,
Au lieu de récupérer $_POST['fichier'];
essaye $_FILES['fichier'];
Cette variables contient un tableau après validation de ton formulaire comme décrite ici :
http://perso.univ-rennes1.fr/pascal.aubry/doc/php_variables/_files.php
essaye plutot ca :
Attention : 'enctype="application/x-www-form-urlencoded"' est nécessaire dans le cadre d'un upload...
Cela devrait te débloquer...
Amicalement,
S@M...
http://kryoportail.ath.cx
Au lieu de récupérer $_POST['fichier'];
essaye $_FILES['fichier'];
Cette variables contient un tableau après validation de ton formulaire comme décrite ici :
http://perso.univ-rennes1.fr/pascal.aubry/doc/php_variables/_files.php
essaye plutot ca :
<?php if( isset($_FILES['fichier']) ) { var_dump( $_FILES['fichier'] ); } ?> <form method="POST" action="inserer.php" enctype="application/x-www-form-urlencoded"> <p><input name="fichier" type="file" size="60" > </p> <p><input type="submit" value="importer" name="B1" size="60"></p> </form>
Attention : 'enctype="application/x-www-form-urlencoded"' est nécessaire dans le cadre d'un upload...
Cela devrait te débloquer...
Amicalement,
S@M...
http://kryoportail.ath.cx
amine-cmoi
Messages postés
15
Date d'inscription
vendredi 15 août 2008
Statut
Membre
Dernière intervention
29 août 2008
15 août 2008 à 21:25
15 août 2008 à 21:25
salut , bon j'ai essayer avec $_FILES comment t'a dit , ca marche toujours pas ,et il me donne le message d'erreur suivant
Notice: Undefined index: fichier in c:\program files\easyphp1-8\www\....
et j'ai aussi essayer avec : enctype="application/x-www-form-urlencoded" et ca marche toujours pas, le probleme c'est que dans internet explorer ca marche bien , mais ce site que je réalise devera biensure être utilisé par tous les navigateurs ... , merci de vos effort et j'éspère que vous m'aidiez car je vais bientot soutenir dans ce projet :s ....
Notice: Undefined index: fichier in c:\program files\easyphp1-8\www\....
et j'ai aussi essayer avec : enctype="application/x-www-form-urlencoded" et ca marche toujours pas, le probleme c'est que dans internet explorer ca marche bien , mais ce site que je réalise devera biensure être utilisé par tous les navigateurs ... , merci de vos effort et j'éspère que vous m'aidiez car je vais bientot soutenir dans ce projet :s ....
petinouv
Messages postés
662
Date d'inscription
jeudi 1 mars 2007
Statut
Membre
Dernière intervention
20 mai 2009
82
15 août 2008 à 23:31
15 août 2008 à 23:31
essaye de mettre un strip_slashes() sur $_POST['fichier']
amine-cmoi
Messages postés
15
Date d'inscription
vendredi 15 août 2008
Statut
Membre
Dernière intervention
29 août 2008
22 août 2008 à 13:59
22 août 2008 à 13:59
meme avec strip_slashes() sur $_POST['fichier'] ca marche pas , j'ai continuer alors a programmer , mais en utilisant internet explorer ! c'est vraiment dingues des choses qui peux arriver comme ca et te gacher la vie , si durant ma soutenance on me demande de faire le test sur mozila fire fox je serais fichus, merci pour votre aide
amine-cmoi
Messages postés
15
Date d'inscription
vendredi 15 août 2008
Statut
Membre
Dernière intervention
29 août 2008
24 août 2008 à 21:51
24 août 2008 à 21:51
ben , je l'es essayer mais comeme ca marche pas , ca cree une nouvelle erreur classique celle de Undefined index: fichier in ... bon , comme j'ai dit , sans tous cela ca marche sur internet explorer , mais il faut que ca marche aussi sur mozzila
amine-cmoi
Messages postés
15
Date d'inscription
vendredi 15 août 2008
Statut
Membre
Dernière intervention
29 août 2008
27 août 2008 à 15:30
27 août 2008 à 15:30
ben ca marche toujours pas , mais moi avant que je fait un test sur cette variable $_FILES , je veux l'afficher ! tous cela est déja fonctionnel comme j'ai déja dit sur intenet explorer mais pas sur mozilla fire fox , donc je crois qu'il ya quelque chose concernant la configuration de mozilla ,mais j'ai fouiller toute les option disponible et ca marche toujours pas :(
l_epais
Messages postés
140
Date d'inscription
vendredi 24 août 2007
Statut
Membre
Dernière intervention
12 août 2010
31
27 août 2008 à 15:44
27 août 2008 à 15:44
Bon, on se calme...
la premiere reponse était la meilleure:
utilise la variable globale $_FILES
il t'as donné le lien suivant:
http://perso.univ-rennes1.fr/pascal.aubry/doc/php_variables/_files.php
c'est pas pour rien, si tu y avait été et que tu avais tout lu tu aurrais vu qu'il te faut modifier ton form:
<FORM ENCTYPE="multipart/form-data" ACTION="inserer.php" METHOD="POST">
<p><input name="fichier" type="file" size="60" > </p>
<p><input type="submit" value="importer" name="B1" size="60"></p>
</FORM>
@plus
la premiere reponse était la meilleure:
utilise la variable globale $_FILES
il t'as donné le lien suivant:
http://perso.univ-rennes1.fr/pascal.aubry/doc/php_variables/_files.php
c'est pas pour rien, si tu y avait été et que tu avais tout lu tu aurrais vu qu'il te faut modifier ton form:
<FORM ENCTYPE="multipart/form-data" ACTION="inserer.php" METHOD="POST">
<p><input name="fichier" type="file" size="60" > </p>
<p><input type="submit" value="importer" name="B1" size="60"></p>
</FORM>
@plus
amine-cmoi
Messages postés
15
Date d'inscription
vendredi 15 août 2008
Statut
Membre
Dernière intervention
29 août 2008
28 août 2008 à 11:56
28 août 2008 à 11:56
ok je me suis calmé et j'ai essayer aussi cette methode , et ca marche toujorus pas , voici mon code :
///// importation_trafic_appel.php
<html>
<head>
<meta http-equiv="Content-Language" content="fr">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>importation des donneés appels </title>
<style type="text/css">
</style>
</head>
<body>
<center><img src="homepage_logoanart.bmp" ></center>
<hr><br><br><br>
<p> </p>
<font color="blue">Tafic appel mobile en minute:</font>
<form method="POST" action="inserer_trafic_appel.php">
<p>
<input name="fichier" type="file" size="60" >
</p>
<p><input type="submit" value=" importer " name="B1" size="60"></p>
</form>
<form action="vidage_trafic_appel.php" method="post"/>
<input type="submit" value="vider"/>
</form>
<hr>
<a href="anrt2.php"><img src="precedent.png" align="left"/></a><a href="b2.php"><img src="suivant.png" align="right"/></a>
</body>
</html>
/////////////////inserer trafic appel
<html>
<head>
<title>importation|donnees trafic(appel)</title>
<style type="text/css">
</style>
</head>
<body>
<center><img src="homepage_logoanart.bmp"></center>
<hr>
<br><br><br><br>
<?php
$db = mysql_connect('localhost', 'root', '') or die('Erreur de connexion '.mysql_error());
mysql_select_db('anrt') or die('Erreur de selection'.mysql_error());
$fichier = $_POST['fichier'] ;
echo $fichier;
?>
<p>
<label></label>
</p>
<?php
/* On ouvre le fichier à importer en lecture seulement */
if (file_exists($fichier))
$fp = fopen("$fichier", "r");
else
{ /* le fichier n'existe pas */
echo "<center><font color=blue size=5> Fichier introuvable !<br>Importation stoppée.</font></center>";
exit();
}
$i=-1;
while (!feof($fp))
{
$i=$i+1;
/* Tant qu'on n'atteint pas la fin du fichier CSV */
$ligne = fgets($fp,4096); /* On lit une ligne du fichier CSV*/
if (strlen($ligne)!=0&&$i!=0)
{
/* On récupère les champs séparés par ; dans liste*/
$liste = explode( ";",$ligne);
/* On assigne les variables */
$a = $liste[0];
$b = $liste[1];
$c = $liste[2];
$d = $liste[3];
$e = $liste[4];
$f = $liste[5];
$g = $liste[6];
$h = $liste[7];
$i = $liste[8];
$j = $liste[9];
$k = $liste[10];
$l = $liste[11];
$m = $liste[12];
$n = $liste[13];
$o = $liste[14];
$p = $liste[15];
$q = $liste[16];
$r = $liste[17];
$s = $liste[18];
$t = $liste[19];
$u = $liste[20];
$v = $liste[21];
$w = $liste[22];
$x = $liste[23];
/* Ajouter un nouvel enregistrement dans la table */
$query = "INSERT INTO tab2 VALUES('$a','$b','$c','$d','$e','$f','$g','$h','$i','$j','$k','$l','$m','$n','$o','$p','$q','$r','$s','$t','$u','$v','$w','$x','')";
$result= MYSQL_QUERY($query);
}
if(mysql_error())
{ /* Erreur dans la base de donnees, sûrement la table qu'il faut créer */
echo "<center><font color=blue size=5>Erreur dans la base de données :</font></center> ".mysql_error();
print "<br><b><center>Importation stoppée.</center>";
exit();
}
}
echo "<br><b><center><font color=blue size=5>Importation des trafics d'appel terminée, avec succès.</font></center>";
/* Fermeture */
fclose($fp);
MYSQL_CLOSE();
?>
<a href="b1.php"><img src="precedent.png" align="left"/></a><a href="b2.php"><img src="suivant.png" align="right"/></a>
</body>
</html>
ce code la est fonctionnel a 100% sur internet explorer il arrive a importer mon fichier et m'affiche " Importation des trafics d'appel terminée, avec succès " , mais quand j'essaie celui la sur mozilla me donne l'erreur que j'ai programmer " Fichier introuvable Importation stoppée " et pour echo $fichier; il m'affiche la dernière chaine de caractère après le dernier slash du chemin ce qui donne " le_Fichier.csv " tandit que pour internet explorer il m'affiche "C:\Documents and Settings\Administrateur\Bureau\Stage\Fichiers Stage\lec_fichier.csv " ce qui fait que l'application elle marche en totalité et a merveille , donc coté code il ne doit y etre aucune erreur vue que c'est fonctionnel sur internet explorer , mais donc ya qq chose qui le bloque sur mozzila donc j'éspère que vous m'aideriez , mmmmmmmmmmmmmmmmmmmmmmerci d'avaaaaaaaaaaaaaaaaaaaance !!!!
///// importation_trafic_appel.php
<html>
<head>
<meta http-equiv="Content-Language" content="fr">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>importation des donneés appels </title>
<style type="text/css">
</style>
</head>
<body>
<center><img src="homepage_logoanart.bmp" ></center>
<hr><br><br><br>
<p> </p>
<font color="blue">Tafic appel mobile en minute:</font>
<form method="POST" action="inserer_trafic_appel.php">
<p>
<input name="fichier" type="file" size="60" >
</p>
<p><input type="submit" value=" importer " name="B1" size="60"></p>
</form>
<form action="vidage_trafic_appel.php" method="post"/>
<input type="submit" value="vider"/>
</form>
<hr>
<a href="anrt2.php"><img src="precedent.png" align="left"/></a><a href="b2.php"><img src="suivant.png" align="right"/></a>
</body>
</html>
/////////////////inserer trafic appel
<html>
<head>
<title>importation|donnees trafic(appel)</title>
<style type="text/css">
</style>
</head>
<body>
<center><img src="homepage_logoanart.bmp"></center>
<hr>
<br><br><br><br>
<?php
$db = mysql_connect('localhost', 'root', '') or die('Erreur de connexion '.mysql_error());
mysql_select_db('anrt') or die('Erreur de selection'.mysql_error());
$fichier = $_POST['fichier'] ;
echo $fichier;
?>
<p>
<label></label>
</p>
<?php
/* On ouvre le fichier à importer en lecture seulement */
if (file_exists($fichier))
$fp = fopen("$fichier", "r");
else
{ /* le fichier n'existe pas */
echo "<center><font color=blue size=5> Fichier introuvable !<br>Importation stoppée.</font></center>";
exit();
}
$i=-1;
while (!feof($fp))
{
$i=$i+1;
/* Tant qu'on n'atteint pas la fin du fichier CSV */
$ligne = fgets($fp,4096); /* On lit une ligne du fichier CSV*/
if (strlen($ligne)!=0&&$i!=0)
{
/* On récupère les champs séparés par ; dans liste*/
$liste = explode( ";",$ligne);
/* On assigne les variables */
$a = $liste[0];
$b = $liste[1];
$c = $liste[2];
$d = $liste[3];
$e = $liste[4];
$f = $liste[5];
$g = $liste[6];
$h = $liste[7];
$i = $liste[8];
$j = $liste[9];
$k = $liste[10];
$l = $liste[11];
$m = $liste[12];
$n = $liste[13];
$o = $liste[14];
$p = $liste[15];
$q = $liste[16];
$r = $liste[17];
$s = $liste[18];
$t = $liste[19];
$u = $liste[20];
$v = $liste[21];
$w = $liste[22];
$x = $liste[23];
/* Ajouter un nouvel enregistrement dans la table */
$query = "INSERT INTO tab2 VALUES('$a','$b','$c','$d','$e','$f','$g','$h','$i','$j','$k','$l','$m','$n','$o','$p','$q','$r','$s','$t','$u','$v','$w','$x','')";
$result= MYSQL_QUERY($query);
}
if(mysql_error())
{ /* Erreur dans la base de donnees, sûrement la table qu'il faut créer */
echo "<center><font color=blue size=5>Erreur dans la base de données :</font></center> ".mysql_error();
print "<br><b><center>Importation stoppée.</center>";
exit();
}
}
echo "<br><b><center><font color=blue size=5>Importation des trafics d'appel terminée, avec succès.</font></center>";
/* Fermeture */
fclose($fp);
MYSQL_CLOSE();
?>
<a href="b1.php"><img src="precedent.png" align="left"/></a><a href="b2.php"><img src="suivant.png" align="right"/></a>
</body>
</html>
ce code la est fonctionnel a 100% sur internet explorer il arrive a importer mon fichier et m'affiche " Importation des trafics d'appel terminée, avec succès " , mais quand j'essaie celui la sur mozilla me donne l'erreur que j'ai programmer " Fichier introuvable Importation stoppée " et pour echo $fichier; il m'affiche la dernière chaine de caractère après le dernier slash du chemin ce qui donne " le_Fichier.csv " tandit que pour internet explorer il m'affiche "C:\Documents and Settings\Administrateur\Bureau\Stage\Fichiers Stage\lec_fichier.csv " ce qui fait que l'application elle marche en totalité et a merveille , donc coté code il ne doit y etre aucune erreur vue que c'est fonctionnel sur internet explorer , mais donc ya qq chose qui le bloque sur mozzila donc j'éspère que vous m'aideriez , mmmmmmmmmmmmmmmmmmmmmmerci d'avaaaaaaaaaaaaaaaaaaaance !!!!
amine-cmoi
Messages postés
15
Date d'inscription
vendredi 15 août 2008
Statut
Membre
Dernière intervention
29 août 2008
29 août 2008 à 16:33
29 août 2008 à 16:33
salut ,
voila ce que ca me donne var_dump( $_FILES['fichier']) : array(5) { ["name"]=> string(22) "mon_fichier.csv" ["type"]=> string(24) "application/vnd.ms-excel" ["tmp_name"]=> string(44) "C:/Program Files/EasyPHP 2.0b1\tmp\php10.tmp" ["error"]=> int(0) ["size"]=> int(11629) }
bon , c'est pas grave , moi je suis entrain de travailler sur un site intranet , j'ai pas besoin de traiter un fichier a distance , je veux juste traiter des fichier qui sont présents dans le même serveurs que le site ,et le code que j'ai réalisé et fonctionnel sur internet explorer et arrive a nous faire atteindre l'objectif de l'application ,sauf que ca marche pas sur mozilla !!! merrrci d'avance et j'attend toujorus la solution
voila ce que ca me donne var_dump( $_FILES['fichier']) : array(5) { ["name"]=> string(22) "mon_fichier.csv" ["type"]=> string(24) "application/vnd.ms-excel" ["tmp_name"]=> string(44) "C:/Program Files/EasyPHP 2.0b1\tmp\php10.tmp" ["error"]=> int(0) ["size"]=> int(11629) }
bon , c'est pas grave , moi je suis entrain de travailler sur un site intranet , j'ai pas besoin de traiter un fichier a distance , je veux juste traiter des fichier qui sont présents dans le même serveurs que le site ,et le code que j'ai réalisé et fonctionnel sur internet explorer et arrive a nous faire atteindre l'objectif de l'application ,sauf que ca marche pas sur mozilla !!! merrrci d'avance et j'attend toujorus la solution