Formulaire (post) et champs de type file

Résolu/Fermé
wallash Messages postés 25 Date d'inscription lundi 16 octobre 2006 Statut Membre Dernière intervention 1 décembre 2009 - 5 avril 2008 à 14:12
jacouille24 Messages postés 1 Date d'inscription lundi 9 mars 2009 Statut Membre Dernière intervention 9 mars 2009 - 9 mars 2009 à 10:32
Bonjour,
svp j'ai deux pages php, l'une contient un formulaire avec des champs de type texte et de type file que je transmet par methode post à la deuxième page qui doit traiter les informations provenant du formulaire.
quand je valide mon formulaire la deuxième page m'affiche ceci

Notice: Undefined index: image in c:\program files\easyphp1-8\www\new-poly\administration\categories.php on line 10

Notice: Undefined index: image in c:\program files\easyphp1-8\www\new-poly\administration\categories.php on line 11

donc j'ai l'impression que les données du champs de type file ne sont pas transmis et je ne sais pas pourquoi ! ! !

voici la première page
***************************************************
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Document sans titre</title>
</head>

<body>
<table width="480" height="140" border="0" cellpadding="0">
<form name="categorie" method="post" action="categories.php">
<tr valign="top">
<td height="40" colspan="4" class="titreadd">Ajouter des catégories </td>
</tr>
<tr>
<td width="40" height="20" class="ajoutab"><div align="right">NOM:</div></td>
<td width="150"><input name="nom" type="text" id="nom"></td>
<td width="40" class="ajoutab"><div align="right">IMAGE:</div></td>
<td width="250"><div align="left">
<input name="image" type="file" id="image" size="30">
</div></td>
</tr>
<tr>
<td height="40" colspan="4"><input name="Reset" type="submit" id="Reset" value="Rétablir">
<input type="submit" name="Submit" value="Envoyer">
</td>
</tr>
</form>
</table>
</body>
</html>
***************************************************

voici la deuxième page 'categorie.php'
***************************************************

<?php
include('config.php');

if(isset($_POST['Submit']))
{

$nom = $_POST['nom'];
$image = $_FILES['image']['name'];
$type_file = $_FILES['image']['type'];

if(empty($nom))
{
echo"<script language='javascript'>";
echo"alert('Le nom de la catégorie est obligatoire !')";
echo"</script>";
}
else if(empty($image))
{
echo"<script language='javascript'>";
echo"alert('Le nom de l'image est obligatoire !')";
echo"</script>";
}
else if(!strstr($type_file,'jpg') && !strstr($type_file,'jpeg') && !strstr($type_file,'gif') && !strstr($type_file,'png') && !strstr($type_file,'bmp'))
{
echo"<script language='javascript'>";
echo"alert('Ce type d'image n'est pas accepté !')";
echo"</script>";
}
else
{
$req="INSERT INTO categories values('','','$image','$name',SYSDATE(),'')";
$resultat=mysql_query($req,$mysql_link) or die('Erreur SQL !'.$req.'<br>'.mysql_error());
echo"<script language='javascript'>";
echo"alert('Votre catégorie a été ajouter !')";
echo"</script>";
}
mysql_close();
/*
echo"<script language='javascript'>";
echo"history.go(-1)";
echo"</script>";
*/

}
?>


***************************************************
A voir également:

2 réponses

jacouille24 Messages postés 1 Date d'inscription lundi 9 mars 2009 Statut Membre Dernière intervention 9 mars 2009 1
9 mars 2009 à 10:32
Bonjour.( politesse ne coûte rien, une des rares choses qui soit encore gratuite)

MON COUT DE GUEULE.

Coment pouvez vous vous appeler " COMMENT ÇA MARCHE" alors que lorsque l'on vous pose une question qui vous dépasse vous ne répondez pas ou vous envoyez le demandeur sur un lien qui ne répond pas à sa question.
Ou vous le rabrouez en lui faisant comprendre qu'il a mal posté.
Question : êtes vous sure d'être un site qui explique malgré tout (d'où votre nom) ou êtes vous un site qui ne répond aux questions d'internautes perdus dans les dédales de l'informatique que si vous êtes capable.
JE ME POSE LA QUESTION ???.
J'observe et lit vos pseudos solutions depuis bien longtemps et c'est ce qui m'a fait écrire ce message.
(QUESTION MAL POSÉE = PAS DE RÉPONSE, QUESTION AU MAUVAIS ENDROIT = RENVOIE SUR UN LIEN QUI NE VEUT RIEN DIRE POUR LA QUESTION POSÉE, QUESTION EMBARRASSANTE = PAS DE RÉPONSE MÊME PAS UN MOT D'EXPLICATION " j'en passe et des meilleures ".
Je trouve inadmissible votre manière d'agir, qui plus est quand on s'appelle "COMMENT ÇA MARCHE" qui devrait être un site ou l'on prend le temps d'expliquer aux gens ce qui est possible ou impossible et pourquoi.
Tel n'est pas votre cas ou rarement.
Vous me faites penser à des (PRO) qui se prennent la tête et ne veulent pas s'abaisser au niveau du débutant et qui ne comprennent pas que l'on puisse poser une question qui vous parait basique, mais qui pour lui est importante.
PLUTÔT QUE D'ENVOYER UN INTERNAUTE VERS UN LIEN PARCE QU'IL N'A PAS POSTE AU BON ENDROIT, VOUS DEVRIEZ L'AIDER DANS SES DÉMARCHES ET ENSUITE LUI FAIRE SAVOIR QUE SA QUESTION EST POSTÉE AU MAUVAIS ENDROIT ET VOUS MÊME DÉPLACER LE POSTE (ce qui n'est pas votre cas).

J'ose espérer que ce message vous fera comprendre que celui qui demande de l'aide ne sait pas et compte sur votre appui pour s'en sortir, ne pas se prendre la tête c'est faire preuve d'humilité et être humble et serviable sont toujours récompensé.

Jacques Secret alias Jacouille24.

PS: En voyant votre pub en bas et à droite de la page, je comprend mieux "SUPINFO" (il fallait s'en douter).
Je ne m'étonnerais pas d'être censuré, il n'y a que la vérité qui blesse.
1
wallash Messages postés 25 Date d'inscription lundi 16 octobre 2006 Statut Membre Dernière intervention 1 décembre 2009 1
5 avril 2008 à 14:24
excuser moi j'ai vu le problème il fallait activer l'attribut enctype="multipart/form-data" dans la balise formulaire et du coup ça marche !
0