[RESOLU] pb fonction

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] pb fonction

Re: [RESOLU] pb fonction

par or 1 » 06 juin 2018, 10:01

le message est parlant.
$nom = new EntreePerso();
sauf à ce que $nom ai été affecté par autre chose ensuite. c'est une objet de la classe EntreePerso et non une chaine de caractère. un objet ne peut pas être converti en string, d'où l'erreur.
mettre des bons noms de variable aurait éviter cette erreur.

Re: [RESOLU] pb fonction

par quattro » 06 juin 2018, 09:47

bonjour
j'ai un autre soucis, maintenant cela affiche une erreur :
Catchable fatal error: Object of class EntreePerso could not be converted to string in C:
à la ligne 118. c'est à dire celle ci :
$req->execute(array('nom' => $nom,'prenom' => $prenom,'qualif' => $qualif));

sachant que 'qualif' dans mon code fait parti de mon formulaire sous cette forme :
<select class="form-adjust" name="qualif">
<option value="Responsable">Responsable</option>
<option value="Technicien">Technicien</option>
</select>
et que dans ma Bdd le champ qualif est de type "Varchar".....

Re: pb fonction

par quattro » 05 juin 2018, 13:16

Merci or1
j'ai rajouté ceci :
$formNom = isset($_POST['nom']) ? $_POST['nom'] : NULL;

$nom = new EntreePerso();

$nom -> setNom($formNom);
echo $nom->getNom();

cela a l'ai de fonctionner

Re: pb fonction

par or 1 » 05 juin 2018, 12:55

non, quand on écrit :
$nom->setNom($_POST['nom']);
cela exécute d'abord :
$_POST['nom']
ce qui génère le warning quand on est pas en méthode post après la soumission du formulaire.
puis la fonction setNom.

Re: pb fonction

par quattro » 05 juin 2018, 12:46

Bonjour
oui cela concerne bien la ligne que tu as cité. Mais pourtant la fonction fait bien le test avec :
if (isset($newNom) & !empty($newNom))

Re: pb fonction

par @rthur » 05 juin 2018, 00:20

Bonjour,

Dans le message d'erreur, tu as la ligne et le nom du fichier où se produit l'erreur.
Quelle est la ligne concernée ?

Si il s'agit de la ligne $nom->setNom($_POST['nom']); c'est probablement parce que tu utilises une variable sans vérifier auparavant qu'elle existe (et en l'occurence si tu as un message d'erreur c'est qu'elle n'existe pas avant l'envoi de ton formulaire).

pb fonction

par quattro » 04 juin 2018, 23:38

Bonjour

Je me lance dans la creation de fct.
j'ai un formulaire avec qqes champs, exemple "nom".
j'ai creer une fct :

Code : Tout sélectionner

<?php class EntreePerso{ private $nom; //Setter public function setNom($newNom){ if (isset($newNom) & !empty($newNom)){ $this -> nom = $newNom; } } //Getter public function getNom(){ return $this -> nom; } } ?>
et dans la page html j'ai se bout de code :

Code : Tout sélectionner

include('../classe/entreePerso.class.php'); $nom = new EntreePerso(); $nom->setNom($_POST['nom']); echo $nom->getNom();
Quand, je lance le navigateur j'ai une erreur :
Notice: Undefined index: nom in C:\
il suffit d'appuyer 1 fois sur le Btn "valide" du formulaire et ca fct ??
je pense que cela vient de mon test dans la class...