Probleme chiant formulaire php

Fermé
criblevibes Messages postés 2 Date d'inscription mercredi 9 juillet 2008 Statut Membre Dernière intervention 9 juillet 2008 - 9 juil. 2008 à 10:51
[o.o]REplay Messages postés 357 Date d'inscription vendredi 20 juin 2008 Statut Membre Dernière intervention 20 juillet 2009 - 9 juil. 2008 à 11:54
Bonjour a tous,

J'ai un formulaire d'upload qui fait appel a un script php avec saisie dans base de donnée sql

L'envois du fichier sur le serveur se passe tres bien mais pas la partie sql

Si quelqu'un pouvait passer par la. La requete sql est en bas du code php

<?php include("admin/parametres.php"); ?>
<?php
include("JSON.php");
$result = array();

$types = array('jpg');

if (isset($_FILES['photoupload']) )
{
$file = $_FILES['photoupload']['tmp_name'];
$error = false;
$size = false;

$filename = basename($_FILES['photoupload']['name']);
$ext = substr($filename, strrpos($filename, '.') + 1);

if (!is_uploaded_file($file) || ($_FILES['photoupload']['size'] > 2 * 1024 * 1024) )
{
$error = 'Please upload only files smaller than 2Mb!';
}
elseif (!in_array($ext, $types))
{
$error = 'Unsupported file format.';
}
else {
move_uploaded_file($_FILES['photoupload']['tmp_name'], "./uploadedfiles/".$_FILES['photoupload']['name']);
chmod("./uploadedfiles/".$_FILES['photoupload']['name'], 0777);
}

$addr = gethostbyaddr($_SERVER['REMOTE_ADDR']);

$log = fopen('script.log', 'a');
fputs($log, ($error ? 'FAILED' : 'SUCCESS') . ' - ' . preg_replace('/^[^.]+/', '***', $addr) . ": {$_FILES['photoupload']['name']} - {$_FILES['photoupload']['size']} byte\n" );
fclose($log);

if ($error)
{
$result['result'] = 'failed';
$result['error'] = $error;
}
else
{
$result['result'] = 'success';
$result['size'] = "Uploaded successful.";

// la requete est ici

mysql_query("INSERT INTO images VALUES('', '" . $filename . "', '')");

}

}
else
{
$result['result'] = 'error';
$result['error'] = 'Missing file or internal error!';
}

if (!headers_sent() )
{
header('Content-type: application/json');
}

echo json_encode($result);


?>
A voir également:

1 réponse

[o.o]REplay Messages postés 357 Date d'inscription vendredi 20 juin 2008 Statut Membre Dernière intervention 20 juillet 2009 28
9 juil. 2008 à 11:14
Bonjour,
Il faut dabord te connecter a ta base de données.

http://www.manuelphp.com/php/function.mysql-connect.php pour plus d'infos :)
0
criblevibes Messages postés 2 Date d'inscription mercredi 9 juillet 2008 Statut Membre Dernière intervention 9 juillet 2008
9 juil. 2008 à 11:36
D'ou l'include du haut


Je viens de resoudre le probleme

Mais un autre apparait maintenant (je suis passé a l'étape suivante)

Mon formulaire

<form action="script.php" method="post" enctype="multipart/form-data" id="form-demo">
<input type="file" name="photoupload" id="demo-photoupload" />
<input type="text" name="idimglia" value="5">
</form>

Mon script php

if (isset($_FILES['photoupload']) AND isset($_POST['idimglia']))
{
$idimglia = addslashes($_POST['idimglia']);
$filename = basename($_FILES['photoupload']['name']);

// on se passe de la partie upload qui marche

mysql_query("INSERT INTO images VALUES('', '" . $filename . "','" . $idimglia . "')") or die ('Error:'.mysql_error());

}

Le script me retrourne une erreur, si je supprime AND isset($_POST['idimglia']) l'erreur disparait mais il n'y a pas de saisie dans la base de donnée de idimglia
0
[o.o]REplay Messages postés 357 Date d'inscription vendredi 20 juin 2008 Statut Membre Dernière intervention 20 juillet 2009 28 > criblevibes Messages postés 2 Date d'inscription mercredi 9 juillet 2008 Statut Membre Dernière intervention 9 juillet 2008
9 juil. 2008 à 11:54
Quand tu concatène ta chaine de caractère " AND ..."est-ce que tu laisse bien un espace entre " et AND ? Le mieux c'est de mettre la requête dans une variable et de l'afficher. Mais je pense que $idimglia et AND sont collés entre eux..
0