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:
Mon traitement:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 <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>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 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'] . "'"); } }
Partager