bonsoir ,je suis une débutante en php 5 quelqu'un peut m'aider, je veux savoir comment je peux accéder à une classe (livre) et appeler sa méthode (ajouterLivre()) dans un formulaire d'ajout d'un livre .
bonsoir ,je suis une débutante en php 5 quelqu'un peut m'aider, je veux savoir comment je peux accéder à une classe (livre) et appeler sa méthode (ajouterLivre()) dans un formulaire d'ajout d'un livre .
Un formulaire en un élément HTML, il n'a pas de rapport avec des classes qui sont des éléments PHP.
Ton formulaire HTML peut avoir comme action un script PHP qui ferra tout ce que tu veux.
N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP
tout d'abord merci pour votre réponse, mais la page de formulaire est formulaireAjout.php , en + qu'est ce que je dois écrire dans l'action de formulaire pour accéder à la classe Livre ?
Ta question n'a pas de sens : un formulaire n'accède pas à une classe PHP.
Le formulaire a beau être dans un fichier .php, il reste un élément HTML traité par le navigateur.mais la page de formulaire est formulaireAjout.php
Le formulaire ne fait qu'une seule chose : transmettre des données vers le serveur.
N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP
voilà mon formulaire :
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 <?php include ("includes/Livre.class.php"); $livre = new Livre();?> <?php // $livre->ajouterLivre();?> <form enctype="multipart/form-data" action="<?php $livre->ajouterLivre();?>" method="post"> <table align="center"> <tr><td class="active">Titre du livre : </td><td><input type="text" name="titre"></td></tr> <tr><td class="active">Image : </td><td><input type="file" name="image" value="importer"></td></tr> <tr><td class="active">Description : </td><td><textarea name="desc"></textarea></td></tr> <tr><td class="active">Nombre de pages : </td><td><input type="text" name="nbpage"></td></tr> <tr><td class="active">Auteur : </td><td><select name="auteur" id="auteur"><option>11</option></select></td></tr> <tr><td class="active">Catégorie : </td><td><select name="categorie" id="categorie"><option>11</option></select></td></tr> <tr><td></td><td><input type="submit" value="envoyer"></td></tr> </table> </form>
et voilà la classe livrela requête d'insertion "$sql" ne s’exécute pas pouvez vous me dire pourquoi ?
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67 class livre { protected $titre , $id , $image , $description , $auteurs , $categories , $nbpages; public function __construct(){ $this->titre = $titre; $this->id = $id; $this->image = $image; $this->description = $description; $this->auteurs = $auteurs; $this->catégories = $catégories; $this->nbpages = $nbpages; } function ajouterLivre() { if(isset($_POST['titre'])) $this->titre = $_POST['titre']; else $this->titre = ""; if(isset($_POST['image'])) $this->image = $_POST['image']; else $this->image = ""; if(isset($_POST['desc'])) $this->description = $_POST['desc']; else $this->description = ""; if(isset($_POST['auteur'])) $this->auteur = $_POST['auteur']; else $this->auteur = ""; if(isset($_POST['categorie'])) $this->categories = $_POST['categorie']; else $this->categories = ""; if(isset($_POST['nbpage'])) $this->nbpages = $_POST['nbpage']; else $this->nbpages = ""; if(empty($titre) OR empty($image) OR empty($desc) OR empty($nbpage)) { header("Location:erreur/erreur.php"); } else { echo $this->titre ; require_once("includes/conex.php"); $sql = "INSERT INTO `livre` VALUES('$this->titre','$this->image','$this->description','$this->auteur','$this->categories','$this->nbpages')"; $id = mysql_insert_id(); return $id; mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); mysql_close(); } }
C'est à se demander si tu le fais exprès!
Envoyé par sabotage
Code : Sélectionner tout - Visualiser dans une fenêtre à part <form enctype="multipart/form-data" action="<?php $livre->ajouterLivre();?>" method="post">
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum
Je redis encore une fois : un formulaire HTML envoi des données vers le serveur, plus précisément vers une page que l'on indique dans l'action du formulaire.
Dans cette page d'action, tu vas mettre le traitement des données reçues, et c'est la que tu pourras te servir de ta classe.
N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager