IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

undefinied variable php


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Points : 149
    Points
    149
    Par défaut undefinied variable php
    bonjour,
    j'ai suivi un tuto poo.
    mais j'ai une erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Notice: Undefined variable: categorie in C:\wamp\www\ecommerce\admin\gestCatalogue.php on line 64
     
    Fatal error: Call to a member function getTitre() on a non-object in C:\wamp\www\ecommerce\admin\gestCatalogue.php on line 64
    qui est donc cette ligne la:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $body.='Titre : <input type="text" name="titre" value="'.$categorie->getTitre().'" /><br />';

    je comprend que c'est parce que il n'a pas de $categorie mais pk?
    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
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    <?php
     
     
    if (isset ($_GET['modifier']))
    	$categorie = $manager->getUnique ((int) $_GET['modifier']);
     
    if (isset ($_GET['supprimer']))
    {
    	$manager->delete((int) $_GET['supprimer']);
    	$message = 'La categorie a bien été supprimée !';
    }
     
    if (isset ($_POST['titre']))
    {
    	$categorie = new Categorie (
    	array (
     
    	'titre' => $_POST['titre'],
    	'description' => $_POST['description']
    	)
    	);
     
    	if (isset ($_POST['id']))
     
    		$categorie->setId($_POST['id']);
     
     
    	if ($categorie->isValid())
    	{
    		$manager->save($categorie);
     
    		$message = $categorie->isCategorie() ? 'La categorie a bien été ajoutée !' : 'La categorie a bien été modifiée !';
    	}
    	else
    	{
    		$erreurs = $categorie->erreurs();
    	}
    }
     
     
    $body.=' <form action="gestCatalogue.php" method="post">
    			<p style="text-align: center">';
     
    if (isset ($message))
    {
    	$body.=''.$message.'<br />';
     
    }
     
    if (isset($erreurs) && in_array(Categorie::TITRE_INVALIDE, $erreurs)) 
    {
    	$body.='Le titre est invalide.<br />'; 
    }
    $body.='Titre : <input type="text" name="titre" value="'.$categorie->getTitre().'" /><br />';
     
    if (isset($erreurs) && in_array(Categorie::DESCRIPTION_INVALIDE, $erreurs))
    	   {
    		$body.='La description est invalide.<br />';
     
    	}
    	$body.='Description :<br /><textarea rows="8" cols="60" name="description">'.$categorie->getDescription().'</textarea><br />';
     
     
    	if(isset($categorie) && !$categorie->isCategorie())
    	{
     
    		$body.='<input type="TEXT" name="id" value="'.$categorie->getId().'" />
    				<input type="submit" value="Modifier" name="modifier" />';
     
    	}
    	else
    	{
     
    		$body.='<input type="submit" value="Ajouter" />';
     
    	}
    	$body.='
    			</p>
    		</form>
    		';
    	$body.='<p style="text-align: center">Il y a actuellement '.$manager->count().'categorie. En voici la liste :</p>
    		
    		<table>
    			<tr><th>Titr</th><th>Description</th><th>Action</th></tr>';
     
    	foreach ($manager->getList() as $categorie)
    	{
    		$body.='<tr><td>'.$categorie->getTitre().'</td><td>'.$categorie->getDescription().'</td><td><a href="?modifier='.$categorie->getId().'">Modifier</a> | <a href="?supprimer='.$categorie->getId().'">Supprimer</a></td></tr>';
    	}
    	$body.=' </table>';
     
     
    	include('backups/baseAdmin.php');
     
    	?>
    MERCI.

  2. #2
    Membre averti Avatar de BornBanane
    Homme Profil pro
    dev
    Inscrit en
    Mars 2007
    Messages
    284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Mars 2007
    Messages : 284
    Points : 416
    Points
    416
    Par défaut
    Si ces 2 conditions sont fausses alors $categorie ne sera pas définit et donc tu auras ton erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if (isset ($_GET['modifier'])) {/*...*/}
    if (isset ($_POST['titre'])) {/*...*/}

  3. #3
    Membre habitué
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Points : 149
    Points
    149
    Par défaut
    comment faire pour avoir la meilleur structure entre ajout et modifier.

    si appuie sur le bouton modifier je fait apparaitre le formulaire.
    Si on envoie l'id c est que c est une modification on utilise alors getUnique et apres on lui donne les valeurs du formulaire avec l'instanciation et on utilise la fonction save pour un update ou un insert.

    SI J'appuie sur ajouter, on affiche le formulaire.
    Si il n'y a pas d'id envoyer c' est un ajout donc on utilise le même code instanciation et on utilise la fonction save pour un update ou un insert.


    pour le formulaire je peut faire un truc du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (isset ($_GET['modifier'])and isset ($_GET['ajouter']))
    {<div id="formulaire">....}
    merci.

Discussions similaires

  1. [PHP-JS] Problème de variable PHP dans un script JS
    Par soad029 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/08/2005, 22h17
  2. [PHP-JS] passage de variable php a javascript
    Par limpins dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 05/07/2005, 11h54
  3. [FLASH MX2004] Recuperation d'une variable php
    Par Shooter dans le forum Flash
    Réponses: 2
    Dernier message: 30/06/2005, 09h37
  4. [Applet] récupérer une variable PHP ?
    Par Shiryu44 dans le forum Applets
    Réponses: 10
    Dernier message: 22/03/2005, 11h39
  5. [PHP-JS] variable php à récupérer en JS
    Par mussara dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 15/01/2005, 16h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo