Page 1 sur 1

probleme fonction modifier

Posté : 06 juil. 2012, 11:49
par igotzepower
Bonjour,

J'ai un petit souci au niveau de la fonction modifier...
Voici dans Formulaire.class, la fonction modifier :
<?php
class Formulaire {
	private $id;
	private $nom;
	private $prenom;
	private $matricule;
	private $date;
	private $trombinoscope;
	private $intranet;
	private $journaux;
	private $exposition;
	private $brochureCom;
	private $brochurePub;
	private $internet;
	private $video;
	

	
	public function modifier_formulaire($bdd, $nom , $prenom, $matricule, $trombinoscope, $intranet, $journaux, $exposition, $brochureCom, $brochurePub, $internet, $video) {
		$edit_formulaire = $bdd->prepare('UPDATE formulaire SET nom=:nom, prenom=:prenom, matricule=:matricule, trombinoscope=:trombinoscope, intranet=:intranet, journaux=:journaux, exposition=:exposition, brochureCom=:brochureCom, brochurePub=:brochurePub, internet=:internet, video=:video WHERE formulaire.id=:formulaire');
		$edit_formulaire->execute(array(
			'nom' => $nom,
			'prenom' => $prenom,
			'matricule' => $matricule,
			'trombinoscope' => $trombinoscope,
			'intranet' => $intranet,
			'journaux' => $journaux,
			'exposition' => $exposition,
			'brochureCom' => $brochureCom,
			'brochurePub' => $brochurePub,
			'internet' => $internet,
			'video' => $video,
			'formulaire' => $this->id
		));
	
	}
et ensuite dans mon fichier edit.php dans lequel j'appelle la fonction "modifier_formulaire" :

include("_db.php");
include_once('Formulaire.class.php');

// Récupérer les informations du formulaire à éditer
$idformulaire=$_GET['id'];
$reponse=$bdd->prepare('SELECT formulaire.* FROM formulaire WHERE formulaire.id=:formulaire');
$reponse->execute(array(
	'formulaire' => $idformulaire
));

if(isset($_POST['editer'])) {
	echo 'tamere';
	$nom = $_POST['nom'];
	$prenom = $_POST['prenom'];
	$matricule = $_POST['matricule'];
	$trombinoscope = $_POST['trombinoscope'];
	$intrane = $_POST['intranet'];
	$intranet = $_POST['intranet'];
	$journaux = $_POST['journaux'];
	$exposition = $_POST['exposition'];
	$brochureCom = $_POST['brochureCom'];
	$brochurePub = $_POST['brochurePub'];
	$internet = $_POST['internet'];
	$video = $_POST['video'];
	
	// Modification du projet dans la BDD
		$formulaire = new Formulaire($idformulaire);
		$formulaire->modifier_formulaire($bdd, $nom , $prenom, $matricule, $trombinoscope, $intranet, $journaux, $exposition, $brochureCom, $brochurePub, $internet, $video);
et voici le formulaire dans lequel je récupère les nouvelles valeurs, tjrs dans edit.php :
<form method="post" action="edit.php?id=<?php echo $formulaire ?>" enctype="multipart/form-data">
						<div class="clearfix">
							<label>Nom</label>
							<div class="input">
								<input type="text" name="nom" value="<?php echo stripslashes($donnees['nom']) ?>" />
							</div>
                         </div>
                         
                         <div class="clearfix">
                            <label>Prénom</label>
							<div class="input">
								<input type="text" name="prenom" value="<?php echo stripslashes($donnees['prenom']) ?>" />
							</div>
                         </div>
                         
                         <div class="clearfix">
                            <label>Matricule</label>
							<div class="input">
								<input type="text" name="matricule" value="<?php echo stripslashes($donnees['matricule']) ?>" />
							</div>
                         </div>
                         
                        
                         
                         <div class="clearfix">
                            <label>Trombinoscope</label>
							<div class="input">
                             <label id="ok">
                            Oui
								<input type="radio" name="trombinoscope" <?php if($donnees['trombinoscope']=='oui') {echo "checked"; }?>  />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                            Non 
								<input type="radio" name="trombinoscope"  <?php if($donnees['trombinoscope']=='non') {echo "checked"; }?> />
                            </label>   
							</div>
                         </div> 
                         
                          <div class="clearfix">
                            <label>Intranet</label>
							<div class="input">
                             <label>
                            Oui
								<input type="radio" name="intranet"  <?php if($donnees['intranet']=='oui') {echo "checked"; }?> />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                            
                            Non
								<input type="radio" name="intranet"  <?php if($donnees['intranet']=='non') {echo "checked"; }?> />
                            </label>
							</div>
                         </div>
                         
                         <div class="clearfix">
                            <label>Journaux et revues internes</label>
							<div class="input">
                             <label>
                            Oui
								<input type="radio" name="journaux"  <?php if($donnees['journaux']=='oui') {echo "checked"; }?> />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                            
                            Non
								<input type="radio" name="journaux"  <?php if($donnees['journaux']=='non') {echo "checked"; }?> />
                            </label>
							</div>
                         </div>
                         
                         <div class="clearfix">
                            <label>Expositions internes</label>
							<div class="input">
                             <label>
                            Oui
								<input type="radio" name="exposition"  <?php if($donnees['expositions_internes']=='oui') {echo "checked"; }?> />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                            
                            Non
								<input type="radio" name="exposition"  <?php if($donnees['expositions_internes']=='non') {echo "checked"; }?> />
                            </label>
							</div>
                         </div>
                         
                          <div class="clearfix">
                            <label>Brochures commerciales</label>
							<div class="input">
                             <label>
                            Oui
								<input type="radio" name="brochureCom" <?php if($donnees['brochures_commerciales']=='oui') {echo "checked"; }?> />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                            
                            Non
								<input type="radio" name="brochureCom" <?php if($donnees['brochures_commerciales']=='non') {echo "checked"; }?> />
                            </label>
							</div>
                         </div>
                         
                          <div class="clearfix">
                            <label>Brochures publicitaires</label>
							<div class="input">
                             <label>
                            Oui
								<input type="radio" name="brochurePub" <?php if($donnees['brochures_publicitaires']=='oui') {echo "checked"; }?> />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                            
                            Non
								<input type="radio" name="brochurePub" <?php if($donnees['brochures_publicitaires']=='non') {echo "checked"; }?> /> 
                            </label>
							</div>
                         </div>
                         
                          <div class="clearfix">
                            <label>Internet</label>
							<div class="input">
                             <label>
                            Oui
								<input type="radio" name="internet"<?php if($donnees['internet']=='oui') {echo "checked"; }?> /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                            
                            Non
								<input type="radio" name="internet" <?php if($donnees['internet']=='non') {echo "checked"; }?> /> 
                            </label>
							</div>
                         </div>
                         
                          <div class="clearfix">
                            <label>Vidéo</label>
							<div class="input">
                             <label>
                            Oui
								<input type="radio" name="video"<?php if($donnees['video']=='oui') {echo "checked"; }?> /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                            
                            Non
								<input type="radio" name="video"<?php if($donnees['video']=='non') {echo "checked"; }?> /> 
                            </label>
							</div>
                         </div>
                         
                         <div class="actions">
                         	<input type="hidden" name="editer" />
                            <input type="submit" class="btn primary" value="Valider" />
                            <a href="formulaire.php">
                            	<input type="button" class="btn" value="Annuler" />
                            </a>
                            </div>
                       </form>
					<?php
D'avance, je vous remercie.

Re: probleme fonction modifier

Posté : 06 juil. 2012, 12:20
par moogli
ma boule de cristal me dit ..............

hum voyont voir ...
Ah oui ligne 527 colone 28 y a une erreur
:mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen:

Plus sérieusement on ne peux pas t'aider si tu n'indique pas ce qui ne va pas et au moins un message d'erreur.

Tu arrive chez le médecin en disant "j'ai malade" et il se démerde sans autre info ?

Si tu n'a pas de message d'erreur passe ton error_reporting à E_ALL

@+

Re: probleme fonction modifier

Posté : 06 juil. 2012, 13:40
par Invité
Je suis tout à fait d'accord avec toi sur le principe, mais tu te doutes bien que si javais un message d'erreur, je l'aurais signalé ... Mais en l’occurrence je n'en ai aucun ...

Re: probleme fonction modifier

Posté : 06 juil. 2012, 15:08
par xTG
Actives les erreurs PDO. Ce sera déjà un bon début pour avoir un affichage d'erreur SQL.

Re: probleme fonction modifier

Posté : 06 juil. 2012, 15:12
par Invité
Si ça peut vous aider à trouver le problème étant donné que je n'est pas de message d'erreur :

au niveau des echos de mes variables au niveau du fichier edit.php :

echos $idformulaire = indique bien l'id du formulaire que je souhaite modifier lorsque j'appuie sur valider. Donc la condition if(isset($_POST['editer'])) fonctionne bien.

Ensuite lorsque je fais un echo d'une des variables récupérées en POST, "echo" affiche bien la nouvelle donnée inscrite dans le formulaire après avoir appuyé sur le bouton "validé".

Et enfin lorsque je fais un echo de $formulaire à la fin, j'ai une erreur..
"Catchable fatal error: Object of class Formulaire could be converted to string in ..."

Re: probleme fonction modifier

Posté : 06 juil. 2012, 15:14
par Invité
Si ça peut vous aider à trouver le problème étant donné que je n'ai pas de message d'erreur :
Si ça peut vous aider à trouver le problème étant donné que je n'est pas de message d'erreur :

au niveau des echos de mes variables au niveau du fichier edit.php :

echos $idformulaire = indique bien l'id du formulaire que je souhaite modifier lorsque j'appuie sur valider. Donc la condition if(isset($_POST['editer'])) fonctionne bien.

Ensuite lorsque je fais un echo d'une des variables récupérées en POST, "echo" affiche bien la nouvelle donnée inscrite dans le formulaire après avoir appuyé sur le bouton "validé".

Et enfin lorsque je fais un echo de $formulaire à la fin, j'ai une erreur..
"Catchable fatal error: Object of class Formulaire could be converted to string in ..."

Re: probleme fonction modifier

Posté : 06 juil. 2012, 16:04
par xTG
La gestion des erreurs PDO est-elle mise en place ?

Re: probleme fonction modifier

Posté : 06 juil. 2012, 16:19
par Invité
comment puis-je la mettre en place ?

Re: probleme fonction modifier

Posté : 06 juil. 2012, 17:15
par xTG
C'est expliqué dans la documentation : http://fr.php.net/manual/en/pdo.error-handling.php