News et images

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 : News et images

Re: News et images

par moogli » 24 juil. 2011, 21:00

salut,


je ne vois nulle part l'utilisation du nom de l'image pour être insérée dans la table.
Peux tu nous fournir le create table ?

a tu des messages d'erreur ?
est ce que la news s'insère dans la table ?

ajoute des else aux if qui n'en n'ont pas pour afficher un message d'erreur (au moins pour le debuguage, ça te permet de suivre le cheminement du script).

@+

News et images

par TRUNCKS » 23 juil. 2011, 17:49

Bonjour à vous !

J'essaye de faire un système de news en suivant un petit tuto et j'aimerai aussi pouvoir ajouter une image avant mon texte.

Je n'arrive pas à uploader l'image et à l'inscrire dans ma BDD pour réutilisation.
Je crois que je me suis embrouillé et j'ai un peu fait n'importe quoi :(

Mon formulaire:

<form action="liste.php" method="post" enctype="multipart/form-data">

<p>Titre : <input type="text" size="30" name="titre" value="<?php echo $titre; ?>" /></p>
<p>
    Contenu :<br />
    <textarea name="contenu" cols="50" rows="10">
    
<?php echo $contenu; ?>

    </textarea><br /><br />
    
     
    <input type="file" name="image" /><br /><br />
    
    <input type="hidden" name="id_news" value="<?php echo $id_news; ?>" />
    <input type="submit" value="Envoyer" />
</p>

</form>

Mon traitement:

if (isset($_POST['titre']) AND isset($_POST['contenu']))
{
    $titre = addslashes($_POST['titre']);
    $contenu = addslashes($_POST['contenu']);
    // On vérifie si c'est une modification de news ou non.
    if ($_POST['id_news'] == 0)
    {
        // Ce n'est pas une modification, on crée une nouvelle entrée dans la table.
        mysql_query("INSERT INTO news VALUES('', '" . $titre . "', '" . $contenu . "', '" . time() . "')");
		
// Testons si le fichier a bien été envoyé et s'il n'y a pas d'erreur
if (isset($_FILES['image']) AND $_FILES['image']['error'] == 0)
{
        // Testons si le fichier n'est pas trop gros
        if ($_FILES['image']['size'] <= 10000000)
        {
                // Testons si l'extension est autorisée
                $infosfichier = pathinfo($_FILES['image']['name']);
                $extension_upload = $infosfichier['extension'];
                $extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png');
                if (in_array($extension_upload, $extensions_autorisees))
                {
                        // On peut valider le fichier et le stocker définitivement
                        move_uploaded_file($_FILES['image']['tmp_name'], 'uploads/' . basename($_FILES['image']['name']));
                        echo "L'envoi a bien été effectué !";
                }
        }
}
		
		
    }
    else
    {
        // On protège la variable "id_news" pour éviter une faille SQL.
        $_POST['id_news'] = addslashes($_POST['id_news']);
        // C'est une modification, on met juste à jour le titre et le contenu.
        mysql_query("UPDATE news SET titre='" . $titre . "', contenu='" . $contenu . "' WHERE id='" . $_POST['id_news'] . "'");
    }
}