FORUM Tom's Hardware » Programmation » PHP & MySQL & ASP » Problème de class php
 

Problème de class php

Overclocking & Tuning : fifi2191 et 84 utilisateurs inconnus
Ajouter une réponse



 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : Problème de class php
 
Plus d'informations

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 :  

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


 
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!


Message édité par sebphp le 01-12-2005 à 21:09:01

Profil : Pointeur
Plus d'informations

1/ balise [code]
2/ c'est quoi la ligne 8 ? (meme si j'aurai la réponse en résolvant le pt 1)


---------------
Da Bidz Triad©®™: Bidz Interceptor
.:: Smileyz version 4.2 [050625]::. -- Code source disponible sous licence GPL.
[u
Plus d'informations

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
 

Profil : Pointeur
Plus d'informations

c'est pas clair comme message ?


---------------
Da Bidz Triad©®™: Bidz Interceptor
.:: Smileyz version 4.2 [050625]::. -- Code source disponible sous licence GPL.
[u
Plus d'informations

a écrit :

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.
 

Plus d'informations

Merci pour ta réponse KangOl ça m'est d'un très grand aide!!

Profil : Pointeur
Plus d'informations

mais de rien :jap:


---------------
Da Bidz Triad©®™: Bidz Interceptor
.:: Smileyz version 4.2 [050625]::. -- Code source disponible sous licence GPL.
[u

Aller à :
Ajouter une réponse
  FORUM Tom's Hardware » Programmation » PHP & MySQL & ASP » Problème de class php
 

Annonces Google
Publicité
Les ressources relatives