Se connecter avec
S'enregistrer | Connectez-vous

Problème de class php

Dernière réponse : dans Programmation

Bonjour à tous!!

je suis en train de réaliser un site de e-commerce en php. J'utilise donc des class mais je ne m'aîtrise pas encore bien la POO.

Voici ma class user :
  1. <?
  2. class user
  3. {
  4. //attribut
  5. var $nom,$prenom,$adresse,$num,$bp,$cp,$ville,$pays,$mail,$pswd;
  6.  
  7. //constructeur
  8. function user ($nom,$prenom,$adresse,$num,$bp,$cp,$ville,$pays,$mail,$pswd)
  9. {
  10. $this->nom = $nom;
  11. $this->prenom = $prenom;
  12. $this->adresse = $adresse;
  13. $this->num = $num;
  14. $this->bp = $bp;
  15. $this->cp = $cp;
  16. $this->ville = $ville;
  17. $this->pays = $pays;
  18. $this->mail = $mail;
  19. $this->pswd = $pswd;
  20. }
  21.  
  22. //méthode
  23. function ajout()
  24. {
  25. //premet d'ajouter un utilisateur dans la db
  26. mysql_query ("INSERT INTO db_users (Nom,Prenom,Adresse,Numero,BP,CP,Ville,Pays,Mail,Pswd) VALUES ('$this->nom','$this->prenom','$this->adresse','$this->num','$this->bp','$this->cp','$this->ville','$this->pays','$this->mail','$this->pswd')");
  27. }
  28.  
  29. function mailto()
  30. {
  31.  
  32. $mail = $this->mail;
  33. $msg = 'Inscription';
  34. $corps = "Vos coordonées :"."\n\n".$this->nom." ".$this->prenom."\n".$this->adresse." ".$this->num." ".$this->bp."\n".$this->cp." ".$this->ville."\n".$this->pays."\n\n"."Votre e-mail : ".$this->mail."\n\n"."Votre mot de passe : ".$this->pswd;
  35. $entete ='Vos données de l\'inscription au site de commerce';
  36. mail ($mail, $msg, $corps, $entete);
  37.  
  38. }
  39. function maj_user ($mail)
  40. {
  41. //premet de mettre à jour la db
  42. if (!isset ($_POST["update"]))
  43. {
  44. echo "<FORM method = \"POST\" action = \"maj_user.php\">";
  45. echo "Page de mise à jour de vos données<BR><BR>";
  46.  
  47. $sql = "SELECT * FROM db_users WHERE Mail='$mail'";
  48. $result = mysql_query ($sql);
  49. $row = mysql_fetch_row($result);
  50.  
  51. for ($i=1;$i!=11;$i++)
  52. {
  53. echo "<input type =\"text\" name = \"$i\" value = \"$row[$i]\"><BR>";
  54. }
  55.  
  56. echo "<BR><input type = \"submit\" name = \"update\" value = \"Update\">";
  57. echo "</FORM>";
  58. }
  59. else
  60. {
  61. $nom = $_POST['1'];
  62. $prenom = $_POST['2'];
  63. $adresse = $_POST['3'];
  64. $num = $_POST['4'];
  65. $bp = $_POST['5'];
  66. $cp = $_POST['6'];
  67. $ville = $_POST['7'];
  68. $pays = $_POST['8'];
  69. $mail = $_POST['9'];
  70. $pswd = $_POST['10'];
  71.  
  72. //mise à jour de la db avec les nouvelles valeurs utilisateur
  73. $sql = "UPDATE db_users SET Nom='$nom', Prenom='$prenom', Adresse='$adresse', Numero='$num', BP='$bp', CP='$cp', Ville='$ville', Pays='$pays', Mail='$mail', Pswd='$pswd' WHERE Mail='$mail'";
  74. mysql_query ($sql);
  75.  
  76. echo "Vos données ont été mise à jour...";
  77. }
  78. }
  79.  
  80. function sup_user ()
  81. {
  82. //permet de supprimer un utilisateur
  83. }
  84.  
  85. }
  86.  
  87.  
  88.  
  89. ?>


les fonction ajout() et mailto() fonctionne parfaitement le problème se trouve lors de l'utilisation de maj_user($mail), j'ai une erreur à la ligne 8 (valeurs inconnues) mais je ne vois pas comment resoudre le problème...

Création de l'objet avant l'appel de la fonction ajout :
$utilisateur = new user($nom,$prenom,$adresse,$num,$bp,$cp,$ville,$pays,$mail,$pswd);

Création de l'objet avant l'apple de la fonction maj_user($mail) :
$utilisateur = new user ();

Merci de votre aide!

Autres pages sur : probleme class php

Lassé par la pub ? Créez un compte

Voila, désolé.

Voici les Warning affiché :


Warning: Missing argument 1 for user() in c:\program files\easyphp1-7\www\tfe\class\class_user.inc.php on line 8
Warning: Missing argument 2 for user() in c:\program files\easyphp1-7\www\tfe\class\class_user.inc.php on line 8
Warning: Missing argument 3 for user() in c:\program files\easyphp1-7\www\tfe\class\class_user.inc.php on line 8
Warning: Missing argument 4 for user() in c:\program files\easyphp1-7\www\tfe\class\class_user.inc.php on line 8
Warning: Missing argument 5 for user() in c:\program files\easyphp1-7\www\tfe\class\class_user.inc.php on line 8
Warning: Missing argument 6 for user() in c:\program files\easyphp1-7\www\tfe\class\class_user.inc.php on line 8
Warning: Missing argument 7 for user() in c:\program files\easyphp1-7\www\tfe\class\class_user.inc.php on line 8
Warning: Missing argument 8 for user() in c:\program files\easyphp1-7\www\tfe\class\class_user.inc.php on line 8
Warning: Missing argument 9 for user() in c:\program files\easyphp1-7\www\tfe\class\class_user.inc.php on line 8
Warning: Missing argument 10 for user() in c:\program files\easyphp1-7\www\tfe\class\class_user.inc.php on line 8

jmarwne a dit :
Voila, désolé.

Voici les Warning affiché :


Warning: Missing argument 1 for user() in c:\program files\easyphp1-7\www\tfe\class\class_user.inc.php on line 8
Warning: Missing argument 2 for user() in c:\program files\easyphp1-7\www\tfe\class\class_user.inc.php on line 8
Warning: Missing argument 3 for user() in c:\program files\easyphp1-7\www\tfe\class\class_user.inc.php on line 8
Warning: Missing argument 4 for user() in c:\program files\easyphp1-7\www\tfe\class\class_user.inc.php on line 8
Warning: Missing argument 5 for user() in c:\program files\easyphp1-7\www\tfe\class\class_user.inc.php on line 8
Warning: Missing argument 6 for user() in c:\program files\easyphp1-7\www\tfe\class\class_user.inc.php on line 8
Warning: Missing argument 7 for user() in c:\program files\easyphp1-7\www\tfe\class\class_user.inc.php on line 8
Warning: Missing argument 8 for user() in c:\program files\easyphp1-7\www\tfe\class\class_user.inc.php on line 8
Warning: Missing argument 9 for user() in c:\program files\easyphp1-7\www\tfe\class\class_user.inc.php on line 8
Warning: Missing argument 10 for user() in c:\program files\easyphp1-7\www\tfe\class\class_user.inc.php on line 8



Il manque les parametres.
Tu fais new user ();
Or il y a pas de constructeur.
Ou tu passes tous les parametres qu il manque, ou tu surcharge le constructeur en
faisant un nouveau qui ne prend pas de parametre.

Lassé par la pub ? Créez un compte