Récupérer la variable de ma base de données

Doge
Invité n'ayant pas de compte PHPfrance

11 sept. 2014, 10:08

Bonjour à tous,

Comment puis-je récupérer/transférer ma variable de la base de données (link).
Elle se trouve dans "mysql.php" et j'en ai besoin dans "index.php".

Je me suis renseigné sur les moyens de le faire (AJAX - $_post/$_get), mais je n'ai pas tout saisi, n'y réussi à mettre ceci en place.
	public function connect (){
	try {
		$this->link = mysqli_connect($this->server,$this->username,$this->password,$this->database) or die("Error " . mysqli_error($this->link)); 
        //print_r($this->link);
		}
        catch (PDOException $e) {
		//print_r(error_log);;
			exit('Erreur : ' . $e->getMessage());			
		}
	}
J'aimerais bien pouvoir utiliser cette variable dans mon autre fichier PHP !

Merci de votre aide.

Mammouth du PHP | 1966 Messages

11 sept. 2014, 10:31

A priori c'est la fonction include ou require qu'il te faut

dans index.php tu inclu mysql.php et c'est comme si le code de mysql.php était écris dans index.php
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

Doge
Invité n'ayant pas de compte PHPfrance

11 sept. 2014, 10:35

A priori c'est la fonction include ou require qu'il te faut

dans index.php tu inclu mysql.php et c'est comme si le code de mysql.php était écris dans index.php
J'aimerais récupérer uniquement ma variable et non inclure la classe entière dans mon index.php.

Question : En incluant mon mysql.php, je peux ensuite sortir une des variables qu'il possède ? Je suis perplexe sur cette méthode.

Merci du retour

Mammouth du PHP | 2278 Messages

11 sept. 2014, 11:29

Tu mets ta variable en session dans mysql.php, tout simplement
Si tu inclus, il peut y avaoir des problèmes de portée des variables:
dans a.php je définis $z = array("a","b");
dans A.php j'inclus a.php; pas de problème pour retrouver $z;
mais si dans A.php tu as une fonction
function f()
{

}
tu es bon pour le passer $z en paramètre ou la déclarer globale
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Doge
Invité n'ayant pas de compte PHPfrance

11 sept. 2014, 11:39

Tu mets ta variable en session dans mysql.php, tout simplement
Si tu inclus, il peut y avaoir des problèmes de portée des variables:
dans a.php je définis $z = array("a","b");
dans A.php j'inclus a.php; pas de problème pour retrouver $z;
mais si dans A.php tu as une fonction
function f()
{

}
tu es bon pour le passer $z en paramètre ou la déclarer globale

Dans mysql.php, je fais donc:
		$_SESSION['link'] = $this->link;
Et dans index.php, je fais:
	echo $_SESSION['link'];

Mammouth du PHP | 2278 Messages

11 sept. 2014, 11:43

tu peux faire aussi:
$link = $_SESSION['link'];
pour vérifier tu peux tjs écrire:
print_r($_SESSION);


N'oublie pas de mettre
session_start(); dans tous les
scripts où tu en as besoin comme première instruction, juste après
<?PHP
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Doge
Invité n'ayant pas de compte PHPfrance

11 sept. 2014, 11:51

tu peux faire aussi:
$link = $_SESSION['link'];
pour vérifier tu peux tjs écrire:
print_r($_SESSION);


N'oublie pas de mettre
session_start(); dans tous les
scripts où tu en as besoin comme première instruction, juste après
<?PHP
J'ai beau essayer, mais je n'arrive pas à faire fonctionner cette démarche. Plusieurs questions interviennent :

-session_start(), je le lance au début de index.php, mais si j'essaie de le lancer dans mysql.php, il me dit que la session est déjà ouverte. Donc, dois-je fermer la session à la fin de index.php pour pouvoir le déclarer dans mysql.php ?

-$link = $_SESSION['link']; cette ligne va systématiquement me dire qu'il ne connait pas "link".

Code : Tout sélectionner

Notice: Undefined index: link in C:\WampServer\wamp\www\Universite\class\MySQL.php
J'ai essayé avec $this_link aussi..

Merci pour ton aide.

Mammouth du PHP | 2278 Messages

11 sept. 2014, 12:22

Tu as deux fichiers distincts:
a.php
<?PHP
session_start();
//récupération de $link
$_SESSION['link'] = $link;
?>

et b.php
<?PHP
session_start();
//récupération de $link
$link = $_SESSION['link'] = $link;
?>

Si tu inclus a.php dans b.php, la session est déjà ouverte (c'rest une variable globale)
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Doge
Invité n'ayant pas de compte PHPfrance

11 sept. 2014, 12:50

Tu as deux fichiers distincts:
a.php
<?PHP
session_start();
//récupération de $link
$_SESSION['link'] = $link;
?>

et b.php
<?PHP
session_start();
//récupération de $link
$link = $_SESSION['link'] = $link;
?>

Si tu inclus a.php dans b.php, la session est déjà ouverte (c'rest une variable globale)
Clair & précis.
Merci de ton aide, sirakawa.

Cdlt,

Doge