Probleme chiant formulaire php

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);

?>

1 réponse

  1. 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 :)
    1. 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
    2. @criblevibesQuand 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..