Une erreur dans mon formulaire ?

Résolu
elsa -  
 elsa -
Bonjour a tous !
j ai a nouveau une question !

j essaye depuis ce matin de faire un formulaire pour uploader une photo et un text, et rentrer tout ca dans mysql, mais ca marche pas du tout, 0 entree dans la table, et 0 image dans le repertoire upload... :(

c est desesperant !!!

voila mon code pour la page upload.php, quelqu un voit ce qui ne va pas ? (j y vais etape par etape, le script est loin d etre fini, mais avant de mettre plus de isset etc faudrait au moins que ca marche un peu !)

<?php

if ($ID > 0)
{
$action = isset($_GET['action']) ? $_GET['action'] : null;
if (isset($_POST['form_sent']) && $action == 'new')
{

if(isset($_FILES['photo']))
{
unset($erreur);
$extensions_ok = array('gif', 'jpg', 'jpeg');
$taille_max = 200100;
$dest_dossier = 'up/';

if( !in_array( substr(strrchr($_FILES['photo']['name'], '.'), 1), $extensions_ok ) )
{
$erreur = 'Veuillez sélectionner un fichier de type gif ou jpg !';
}
elseif( file_exists($_FILES['photo']['tmp_name'])
and filesize($_FILES['photo']['tmp_name']) > $taille_max)
{
$erreur = 'Votre fichier doit faire moins de 200Ko !';
}

if(!isset($erreur))
{
$dest_fichier = basename($_FILES['photo']['name']);
$dest_fichier = strtr($dest_fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$dest_fichier = preg_replace('/([^.a-z0-1]+)/i', '_', $dest_fichier);
move_uploaded_file($_FILES['photo']['tmp_name'], $dest_dossier . $dest_fichier);
$UrlPhoto=$dest_dossier . $dest_fichier;
}
}


If (!$UrlPhoto)
{
$UrlPhoto = ('no');
}
$Login=$_POST['Login'];
$Ville=$_POST['Ville'];
$Pays=$_POST['Pays'];
$Dep=$_POST['Dep'];
$TextAnno=$_POST['Text'];
$dbc = @mysql_connect ("localhost", "root", "");
if(!mysql_errno($dbc))
{
mysql_select_db("esc");
$requete = "insert into esc_anno values( ' ".$Login." ' , ' ".$Pays." ' , ' ".$Ville." ', ' ".$UrlPhoto." ' , ' ".$Dep." ', ' ".$Text." ')";
mysql_query($requete);
}
else
{
echo mysql_errno($dbc)." : ".mysql_error($dbc)."\n";
}
}
else
{

?>

<!-- Erreur ? -->
<?php
if(isset($erreur))
{
echo '<p>', $erreur ,'</p>';
}
?>

<form method="POST" action="?action=new" enctype="multipart/form-data">
<fieldset>
<table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr><td width="33%">
Prénom<br /><input maxlength="30" type="text" name="Login" size="32" value="">
</td>
<td>
</td></tr><tr><td width="100%" colspan="2">
<p align="center"><textarea rows="10" name="Text" cols="60">
Votre texte
</textarea></td>
<td>
<p>Pays<br />
<SELECT name="pays">
<OPTION VALUE="France">France</OPTION>
<OPTION VALUE="Belgique">Belgique</OPTION>
<OPTION VALUE="Suisse">Suisse</OPTION>
<OPTION VALUE="Autre">Autre</OPTION>
</SELECT>
</p><p>
Code Postal<br /><input maxlength="5" type="text" name="Dep" size="10" value=""></p><p>
Ville<br /><input maxlength="30" type="text" name="Ville" size="10" value="">
</td>
</tr><tr><td width="100%" colspan="2">
<input type="hidden" name="MAX_FILE_SIZE" value="200000" />
<p><label for="photo">Photo </label><input type="file" name="photo" /></p>
<p><input type="submit" name="envoi" value="Envoyer" /></p>
</td></tr></table> </fieldset>
</form>

<?php
}
}
else
{
echo("Vous ne pouvez-pas poster !!");
}
?>

2 réponses

imw Messages postés 233 Date d'inscription   Statut Membre Dernière intervention   42
 
déjà, dans ton formulaire, y'a rien qui s'apelle form_sent.

Cette ligne là ne pourra pas fonctionner :
if (isset($_POST['form_sent']) && $action == 'new')


commence par dégager le isset($_POST['form_sent']) ...

place quelques echo dans ton code, voir ce qu'il exécute vraiment :

if (isset($_POST['form_sent']) && $action == 'new')
{
    echo 'actionNew';
....


Tu les enlèvera après.
0
elsa
 
je m en suis sorti :D
0