Problème de class php

sebphp

Nouveau membre
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:
<?
class user
	{
		//attribut
		var $nom,$prenom,$adresse,$num,$bp,$cp,$ville,$pays,$mail,$pswd;
		
		//constructeur
		function user ($nom,$prenom,$adresse,$num,$bp,$cp,$ville,$pays,$mail,$pswd)
		{
			$this->nom = $nom;
			$this->prenom = $prenom;
			$this->adresse = $adresse;
			$this->num = $num;
			$this->bp = $bp;
			$this->cp = $cp;
			$this->ville = $ville;
			$this->pays = $pays;
			$this->mail = $mail;
			$this->pswd = $pswd;
		}
		
		//méthode
		function ajout()
		{
			//premet d'ajouter un utilisateur dans la db
			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')");
		}
		
		function mailto()
		{
		
			$mail = $this->mail;
			$msg = 'Inscription';
			$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;
			$entete ='Vos données de l\'inscription au site de commerce';
			mail ($mail, $msg, $corps, $entete);
		
		}
		function maj_user ($mail)
		{
			//premet de mettre à jour la db
			if (!isset ($_POST["update"]))
			{	
				echo "<FORM method = \"POST\" action = \"maj_user.php\">";
					echo "Page de mise à jour de vos données<BR><BR>";
	
					$sql = "SELECT * FROM db_users WHERE Mail='$mail'";
					$result = mysql_query ($sql);
					$row = mysql_fetch_row($result);
		
					for ($i=1;$i!=11;$i++)
					{
						echo "<input type =\"text\" name = \"$i\" value = \"$row[$i]\"><BR>";
					}
		
				echo "<BR><input type = \"submit\" name = \"update\" value = \"Update\">";
			echo "</FORM>";
			}
			else
			{
				$nom = $_POST['1'];
				$prenom = $_POST['2'];
				$adresse = $_POST['3'];
				$num = $_POST['4'];
				$bp = $_POST['5'];
				$cp = $_POST['6'];
				$ville = $_POST['7'];
				$pays = $_POST['8'];
				$mail = $_POST['9'];
				$pswd = $_POST['10'];
			
				//mise à  jour de la db avec les nouvelles valeurs utilisateur
				$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'";
				mysql_query ($sql);
		
				echo "Vos données ont été mise à jour...";
			}	
		}
		
		function sup_user ()
		{
			//permet de supprimer un utilisateur
		}

	}



?>

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!
 

KangOl

Grand Maître
1/ balise
Code:
2/ c'est quoi la ligne 8 ? (meme si j'aurai la réponse en résolvant le pt 1)
 

sebphp

Nouveau membre
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

 

asteck

Nouveau membre



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.

 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 098
Messages
6 717 068
Membres
1 586 286
Dernier membre
petitangebleu1977
Partager cette page
Haut