Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/11/2011, 11h06   #1
 
Homme
Étudiant
Inscription : mai 2011
Messages : 12
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Bénin

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2011
Messages : 12
Points : -1
Points : -1
Par défaut [POO] Insertion des données d'un formulaire en BDD

je viens de commencer la pOO avec PHP et j'ai un problème para rapport à mon code. Aidez-moi s'il vous plais. le code est:




Code :
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
<?php
class filiere
{
    private $codfil;
    private $libfil;
 
 
    public function enrcodfil()
    {
        return $this->codfil;
    }    
    public function enlibfil()
    {
        return $this->libfil;
    }               
}
 
class PersonnagesManager
{
    private $db; // Instance de PDO
    public function __construct($db)
    {
        $this->setDb($db);
    }
    public function add(filiere $filenr)
    {
        $q = $this->db->prepare('INSERT INTO filiere SET codfil = :codfil, libfil= :libfil');
        $q->bindValue(':codfil', $filenr->enrcodfil());
        $q->bindValue(':libfil', $filenr->enrlibfil());
        $q->execute();
    }
    public function setDb(PDO $db)
    {
        $this->db = $db;
    }
}
 
$db = new PDO('mysql:host=localhost;dbname=filiere', 'root', '');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING); // On émet une alerte àchaque fois qu'une requête a échoué
$manager = new PersonnagesManager($db);
if (isset($_POST['ajouter'])) // Si on a voulu créer un personnage
{
    $filenr = new filiere('codfil' => $_POST['codfil'],'libfil'=> $_POST['libfil'])); // On crée un nouveau personnage
    $manager->add($filenr);    
}        
?>
<form action='poo.php' method='POST'>
    codfil: <input type='text' name='codfil'/>
    libfil: <input type='text' name='libfil'/>
    <input type='submit' name='ajouter'value='ajouter'/>
</form>
adebo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2011, 11h29   #2
Modérateur
 
Avatar de FirePrawn
 
Homme Sébastien
Ingénieur réalisateur
Inscription : mars 2011
Messages : 777
Détails du profil
Informations personnelles :
Nom : Homme Sébastien
Âge : 24
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Ingénieur réalisateur
Secteur : Industrie

Informations forums :
Inscription : mars 2011
Messages : 777
Points : 2 357
Points : 2 357
Bonjour,

Un message d'erreur ? Un peu plus de clarification sur ton "problème" ?
__________________
- Avant toute chose : lire le mode d'emploi du forum et ses règles.
- avant de poster
- Je ne réponds pas aux questions techniques en MP.
FirePrawn est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2011, 14h04   #3
 
Homme
Étudiant
Inscription : mai 2011
Messages : 12
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Bénin

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2011
Messages : 12
Points : -1
Points : -1
Citation:
Envoyé par FirePrawn Voir le message
Bonjour,

Un message d'erreur ? Un peu plus de clarification sur ton "problème" ?
le messag d'erreur est:
( ! ) Parse error: syntax error, unexpected T_DOUBLE_ARROW in C:\wamp\www\apprentissage\poo.php on line 42
adebo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2011, 14h11   #4
Modérateur
 
Avatar de FirePrawn
 
Homme Sébastien
Ingénieur réalisateur
Inscription : mars 2011
Messages : 777
Détails du profil
Informations personnelles :
Nom : Homme Sébastien
Âge : 24
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Ingénieur réalisateur
Secteur : Industrie

Informations forums :
Inscription : mars 2011
Messages : 777
Points : 2 357
Points : 2 357
T'as un problème dans ton instanciation de filiere, vérifie que ça colle bien avec ce que t'as mis dans la classe.
__________________
- Avant toute chose : lire le mode d'emploi du forum et ses règles.
- avant de poster
- Je ne réponds pas aux questions techniques en MP.
FirePrawn est actuellement connecté   Envoyer un message privé Réponse avec citation 01
Vieux 23/11/2011, 14h19   #5
 
Homme
Étudiant
Inscription : mai 2011
Messages : 12
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Bénin

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2011
Messages : 12
Points : -1
Points : -1
je pense bien que c'est ce qui est dans la classe filière que j'ai mis
adebo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2011, 14h28   #6
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
L'"opérateur" => implique (la construction d') un array. Donc :
Code :
$filenr = new filiere(array('codfil' => $_POST['codfil'], 'libfil'=> $_POST['libfil']));
Sinon il faut revoir le fonctionnement (ses paramètres et leur gestion) du constructeur qui est visiblement absent d'ailleurs (= attributs jamais assignés).

PS : illisible le code
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2011, 15h27   #7
 
Homme
Étudiant
Inscription : mai 2011
Messages : 12
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Bénin

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2011
Messages : 12
Points : -1
Points : -1
Citation:
Envoyé par julp Voir le message
L'"opérateur" => implique (la construction d') un array. Donc :
Code :
$filenr = new filiere(array('codfil' => $_POST['codfil'], 'libfil'=> $_POST['libfil']));
Sinon il faut revoir le fonctionnement (ses paramètres et leur gestion) du constructeur qui est visiblement absent d'ailleurs (= attributs jamais assignés).

PS : illisible le code
ça m'aide pas trop, excusez_moi mais si vous pouvez m'envoyer un code qui marche d'une classe à une base de données à partir d'un formulaire ça me fera plaisir. merci
adebo est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 24/11/2011, 11h08   #8
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 663
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeuse PHP/Java

Informations forums :
Inscription : avril 2007
Messages : 3 663
Points : 5 388
Points : 5 388
Je pense que c'est plutôt un cours de POO qu'il te faudrait. La programmation orientée objet en PHP

On ne peut pas inventer les classes à ta place, surtout sans connaitre la structure des objets dont tu as besoin.
__________________
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h35.


 
 
 
 
Partenaires

Hébergement Web