requete insert

naphtali g
Invité n'ayant pas de compte PHPfrance

14 avr. 2012, 19:21

Bonjour a tous,
debutant en php, je viens de reussir a faire un upload d'image, ainsi que son insertion dans la page demandée via BDD, mais en l'associant avec un autre script qui ajoute titre, article et heure d'edition, cela ne fonctionne pas :( !!!
voici mon code :
<?php

include('fonctions.php');

if(isset($_POST['submit'])){
    
        $titre		= $_POST['titre'];
	$texte		= $_POST['texte'];
	
	# On ajoute les données dans la BDD
	$sql = "INSERT INTO news 
				VALUES ('',
				'".mysql_real_escape_string($titre)."', 
				'".mysql_real_escape_string($texte)."', 
				NOW(),
				NOW()
				)";
	mysql_query($sql) or die('Erreur d\'ajout : '.mysql_error());

	# on se redirige vers la liste des contacts
	# ATTENTION, la fonction header ne fonctionnera que s'il n'y a pas eu autre chose avant
	# (ex : partie HTML, echo, print(), ou tout autre trucs qui aurait affiché quelque chose
	# dans le navigateur)
	
    
	$dossier = 'img/uploads/';
	$fichier = basename($_FILES['avatar']['name']);
	$taille_maxi = 1000000;
	$taille = filesize($_FILES['avatar']['tmp_name']);
	$extensions = array('.png', '.gif', '.jpg', '.jpeg');
	$extension = strrchr($_FILES['avatar']['name'], '.'); 
	//Début des vérifications de sécurité...
	if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
	{
	     $erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc...';
	}
	if($taille>$taille_maxi)
	{
	     $erreur = 'Le fichier est trop gros...';
	}
        if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
	{

	     if(move_uploaded_file($_FILES['avatar']['tmp_name'], $dossier.$fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
	     {
	     		$sql = "INSERT INTO news (image) VALUES ('".$fichier."')";
				mysql_query($sql) or die('Erreur d\'ajout : '.mysql_error());
	         header("location: accueil.php");
	     }
	     else //Sinon (la fonction renvoie FALSE).
	     {
	          echo 'Echec de l\'upload !';
	     }
	}
	else
	{
	     echo $erreur;
	}
}
    
?>
merci de votre aide, cordialement
Naphtali

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

14 avr. 2012, 22:29

Qu'est-ce qui ne fonctionne pas ? Qu'est-ce qui fonctionnait ? As-tu des messages d'erreur ?
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 89 Messages

15 avr. 2012, 00:02

Salut,
A mon avis, tu as mis deux fois NOW().
Tu as 5 colonnes dans ta table news
-id
-titre
-texte
-date
-la dernière colonne correspond a quoi?

Met moi le message d'erreur sql stp, et puis donne moi la structure de ta tale aussi, car il se pourrait bien aussi que si tu as mal choisi le type de donnée, l'insert échoue.
Cordialement