Infos stockées dans base apres un upload

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Infos stockées dans base apres un upload

par Chile » 07 mars 2006, 22:30

probleme resolu !
une grosse erreur sur cette ligne :

Code : Tout sélectionner

//connection mysql_connect($hostname_x, $username_x, $password_x) or die ('erreur de connexion');//mysql_connect("", "", "");
et non pas

Code : Tout sélectionner

//vos paramettre conection $connexion = mysql_connect($hostname_x, $username_x, $password_x) or die ('erreur de connexion');//mysql_connect("", "", "");
merci qm Cyrano

par Chile » 07 mars 2006, 22:02

Alors la requête pose problème puisque tu n'envoies que deux valeurs alors que selon ta formulation, il en faudrait trois. Pour n'envoyer que deux valeurs, il faut préciser quels champs tu alimentes toi-même, les autres devant prendre les valeurs par défaut :
mysql_query("INSERT INTO images (`nom`, `chemin`) VALUES('$nom_file', '$chemin')");
Là ça devrait fonctionner mieux.
Alors la requête pose problème puisque tu n'envoies que deux valeurs alors que selon ta formulation, il en faudrait trois. Pour n'envoyer que deux valeurs, il faut préciser quels champs tu alimentes toi-même, les autres devant prendre les valeurs par défaut :
mysql_query("INSERT INTO images (`nom`, `chemin`) VALUES('$nom_file', '$chemin')");
Là ça devrait fonctionner mieux.
j'ai éliminer la colonne id, ainsi il me reste deux colonnes dans ma table (nom et chemin), mais ca ne fonctionne pas non plus avec le code ci dessus.
je n'ai pas de message d'erreur, mais les données ne rentrent pas dans la base.

par Cyrano » 07 mars 2006, 20:05

Alors la requête pose problème puisque tu n'envoies que deux valeurs alors que selon ta formulation, il en faudrait trois. Pour n'envoyer que deux valeurs, il faut préciser quels champs tu alimentes toi-même, les autres devant prendre les valeurs par défaut :
mysql_query("INSERT INTO images (`nom`, `chemin`) VALUES('$nom_file', '$chemin')");
Là ça devrait fonctionner mieux.

Infos stockées dans base apres un upload

par Chile » 07 mars 2006, 19:52

Bonjour,
J'ai mon script pour uploader une image sur mon serveur qui fonctionne bien, mais par contre je souhaite archiver son nom et chemin dans une base et la ca bloque !! :(
voici mon script :
<?php 
//DEFINITION DES VARIABLES 
//-------------------------------------- 

$max_size = 100000; // Taille max en octets du fichier 
$width_max = 100; // Largeur max de l'image en pixels 
$height_max = 100; // Hauteur max de l'image en pixels 

$hostname_x = xxxx
$database_x = xxxx
$username_x = xxxx
$password_x = xxxx

$nom_file = $_FILES['file']['name']; 
$extension = substr(strrchr($nom_file, "."), 0);

// Récupération de l'extension 
//$newname =($rename.$ext); 
$extensions_ok = array(".jpg",".gif",".png",".jpeg"); 

// On vérifie si le champ est rempli 
//1 if 
  if($_FILES['file']['name']) 
  { 

// On vérifie l'extension du fichier 
//2 if 
    if(in_array(strtolower($extension),$extensions_ok)) 
    { 
// On récupère les dimensions du fichier 

    $infos_img = getimagesize($_FILES['file']['tmp_name']); 

// On vérifie les dimensions et taille de l'image 
//3 if 
    if(($infos_img[0] <= $width_max) && ($infos_img[1] <= $height_max) && ($infos_img[2] <= $max_size)) 
    { 

//vos paramettre conection 
    $connexion = mysql_connect($hostname_x, $username_x, $password_x) or die ('erreur de connexion');//mysql_connect("", "", ""); 
//votre table images
     mysql_select_db('images',$connexion);
//mysql_select_db(""); 

//chemin voudra dire le chemin de deplacement de l'image 
     $chemin = "./".$nom_file; 
//nom de la table
      $table = "images"; 
//$rename = $_POST["rename"]; 

// on depose le fichier a l'endroit choisi
      move_uploaded_file($HTTP_POST_FILES["file"]["tmp_name"],$chemin);
 
//et pour finir on même ca dans la base de donnée 
      mysql_query("INSERT INTO images VALUES('$nom_file','$chemin')"); 

//echo "Bonjour $nom, merci pour votre inscription "; 
      echo "envoye terminé $extension $nom_file"; 

} 
//3else 
else 
{ 
echo "vérifie les dimensions et taille de l'image"; 
} 

} 
//2 else 
else 
{ 
echo "non extension"; 
} 
} 
//1 else 
  else 
  { 
  echo "remplir le champs "; 
  } 
?>  
j'ai une table qui existe avec trois colonnes : id/nom/chemin
merci de votre aide