lire ce que contient un tableau

Eléphant du PHP | 89 Messages

18 févr. 2010, 21:44

Bonjour

Je n'arrive pas à lire le contenu d'un tableau.

Ma classe User
<?php

class User{

	private $tab;
	private $lastLogin;

	public function __construct ($login,$pwd){
		$this->tab=array("login"=>$login,"mdp"=>md5($pwd));
		return $this->tab["mdp"];
		 
		//$this->lastLogin=time();
	}


	public function getLastLogin(){
	}

	public function Verif(){

	}

}

?>
et
<?php

include ("./tab.php"); // contient ma class User
include ("./config.php");
include ("./connex1.php");

$_POST['login']="Admin";
$_POST['pwd']="0000";
// Simulation d'utilisateurs

if (isSet($_POST['login'])&& isSet($_POST['pwd'])){

	$User=new User($_POST['login'],$_POST['pwd']);  // Initialisation des identifiants.
	$database= new Mysql ($serveur,$login,$mdp,$database); //Initialisation des variables et connexion auto à la BDD
	echo"</br>";


}

?>
J'ai une belle page blache qui s'affiche sur l"cran

ViPHP
ViPHP | 2287 Messages

18 févr. 2010, 23:15

Bonjour,

Ne le prends pas mal, mais ce serait bien si tu pouvais mettre des echo partout dans ton code, histoire que ta page blanche ne soit plus blanche, qu'on sache un peu par où ton code passe, qu'on aie des symptômes à se mettre sous la dent... Parceque là même pas un message d'erreur, à peine quelques mots de commentaires, c'est encore plus sec qu'un sablé des flandres pour diagnostiquer un problème.

Par exemple un
echo __FUNCTION__.'<br />';
à chaque fonction, ça coûte pas cher et ça permet déjà de comprendre tout plein de choses.

Enfin bref qu'on aie une chance de pouvoir t'aider sans avoir à analyser le moindre caractère de ton script. Parceque le service de débogage gratuit à la demande de phpfrance est un peu chargé en ce moment, on est obligés de demander aux posteurs de faire un effort et de s'aider eux-mêmes pour qu'on puisse les aider.

Merci d'avance au nom de toutes les bonnes volontés du forum (dont tu fais partie, j'en suis sûr) ;-)
if(!@work()){ Nespresso(); } else { what(); }
______________________________

devlop78
Invité n'ayant pas de compte PHPfrance

24 mars 2010, 15:04

$database= new Mysql ($serveur,$login,$mdp,$database);

c'est quoi ?

essaie $User->tab["mdp"] et $User->tab["login"] APRES avoir changé $tab en public et non en private.

return $this->tab["mdp"];

j'ai bien peur que ça ne serve à rien pour un __construct().

Attention que ton objet $User n'est pas global. Si tu veux l'appeler depuis une fonction ou un autre objet, il te faudra faire appel à global $User ou un autre moyen (Singleton, ...)

Petit nouveau ! | 5 Messages

20 avr. 2010, 19:52

Tu n'as pas besoin de return $this->tab["mdp"]; dans ton constructeur.
Rempli ta fonction verif en verifiant si this->tab["mdp"] est bon ou non.

C'est bien normal que tu ais une page blanche si tu n'affiche rien!

Tu ne fais aucun printf, cout, ou echo... c'est normal si ca t'affiche une page blanche.

Code : Tout sélectionner

if (isSet($_POST['login'])&& isSet($_POST['pwd'])){ $User=new User($_POST['login'],$_POST['pwd']); // Initialisation des identifiants. $database= new Mysql ($serveur,$login,$mdp,$database); //Initialisation des variables et connexion auto à la BDD echo"</br>";
Fais un écho déjà de tes variables pour voir si elles ont bien ete initialisées dans le constructeur.

Voila, après tu regardes pour le reste.

Code : Tout sélectionner

public function Verif(){ if(....){ //instructions... echo " Verif Ok!"; }else{ // instructions... echo " Erreur dans l'initialisation des variables ou la création de ta BDD"; }
Il existe deux types de personne: Les Gardois et ceux qui rêvent de l'être!