8768 sujets
Développement web côté serveur, CMS
<?php
require_once('include/connect.php');
echo $_SESSION['id'];
$req = $bdd->prepare('SELECT nom FROM Compte WHERE id = :id');
$req->bindValue(':id',$_POST['id']);
$req->execute();
$req = $req->fetch(PDO::FETCH_ASSOC);
var_dump($req);
$req = $_SESSION['nom'];
?>
Dans mon formulaire j'ai besoin de récupérer $_SESSION['nom'];
Retour écran : 1bool(false)
1 est mon id. J'ai vérifié la bdd, pas de boulette.
Modifié par Tintin75 (01 Aug 2018 - 15:03)
Salut Tintin,
Je veux pas être méchant mais faut commencer par maitriser les bases quand on s'attaque à de la programmation orienté objet et qu'on tape dans une base de données. Là tu les maitrises absolument pas. Je connais pas ton background ni ta situation actuelle, j'espère juste que t'es pas payé pour développer. Et si t'es étudiant, alors les profs font très mal leur boulot.
Bref pour résumer, revois les bases de la programmation (dont le choix d'un éditeur décent qui met en évidence 80% des erreurs de ce sujet). Bonne route !
Je veux pas être méchant mais faut commencer par maitriser les bases quand on s'attaque à de la programmation orienté objet et qu'on tape dans une base de données. Là tu les maitrises absolument pas. Je connais pas ton background ni ta situation actuelle, j'espère juste que t'es pas payé pour développer. Et si t'es étudiant, alors les profs font très mal leur boulot.
Bref pour résumer, revois les bases de la programmation (dont le choix d'un éditeur décent qui met en évidence 80% des erreurs de ce sujet). Bonne route !
Donc...
J'ai créer un bout de code qui fonctionne de A à Z :
dans mon var_dump test j'ai bien mes résultats de ma base test ça ma pris 30 secondes
J'ai juste mis des valeurs en dur dans mon code.
Bonne chance.
Modifié par JENCAL (01 Aug 2018 - 15:19)
J'ai créer un bout de code qui fonctionne de A à Z :
session_start();
$_SESSION['id'] = 4;
echo $_SESSION['id'];
$_POST['id'] = 2;
try {$bdd = new PDO('mysql:host=127.0.0.1;dbname=test', 'root', '');}
catch (Exception $e) {die("L'accès à la base de donnée est impossible.");}
$req = $bdd->prepare('SELECT nom FROM Compte WHERE id = :id');
$req->bindValue(':id',$_POST['id']);
$req->execute();
$test = $req->fetchAll();
var_dump($test);
dans mon var_dump test j'ai bien mes résultats de ma base test ça ma pris 30 secondes
J'ai juste mis des valeurs en dur dans mon code.
Bonne chance.
Modifié par JENCAL (01 Aug 2018 - 15:19)
<?php
require_once('include/connect.php');
$_POST['id'] = $_SESSION['id'];
$req = $bdd->prepare('SELECT nom FROM Compte WHERE id = :id');
$req->bindValue(':id',$_POST['id']);
$req->execute();
$test = $req = $req->fetchAll();
var_dump($test);
?>[/code]
J'ai en retour écran :
array(1) { [0]=> array(2) { ["nom"]=> string(6) "Fozzie" [0]=> string(6) "Fozzie" } }
Il faut que j'arrive à faire passer $test en $_SESSION['nom'] pour que ça me remplisse mon champ dans mon formulaire.
Merci pour ton aide JENCAL
Modifié par Tintin75 (01 Aug 2018 - 19:54)
require_once('include/connect.php');
$_POST['id'] = $_SESSION['id'];
$req = $bdd->prepare('SELECT nom FROM Compte WHERE id = :id');
$req->bindValue(':id',$_POST['id']);
$req->execute();
$test = $req = $req->fetchAll();
var_dump($test);
?>[/code]
J'ai en retour écran :
array(1) { [0]=> array(2) { ["nom"]=> string(6) "Fozzie" [0]=> string(6) "Fozzie" } }
Il faut que j'arrive à faire passer $test en $_SESSION['nom'] pour que ça me remplisse mon champ dans mon formulaire.
Merci pour ton aide JENCAL
Modifié par Tintin75 (01 Aug 2018 - 19:54)
J'ai à l'écran :
array(1) { [0]=> array(2) { ["nom"]=> string(6) "Fozzie" [0]=> string(6) "Fozzie" } }
Le but est de récupérer juste le nom Fozzie pour l'id 2. Là, je galère. J'ai fait des requêtes pdo, facile mais là je galère comme un malade.
J'ai du mal à comprendre la ligne :
$test = $req->fetchAll();
On test la requête et on récupère la ligne avec fech ? Je veux juste récupérer le nom et pas tout le blabla
Modifié par Tintin75 (01 Aug 2018 - 16:36)
array(1) { [0]=> array(2) { ["nom"]=> string(6) "Fozzie" [0]=> string(6) "Fozzie" } }
Le but est de récupérer juste le nom Fozzie pour l'id 2. Là, je galère. J'ai fait des requêtes pdo, facile mais là je galère comme un malade.
J'ai du mal à comprendre la ligne :
$test = $req->fetchAll();
On test la requête et on récupère la ligne avec fech ? Je veux juste récupérer le nom et pas tout le blabla
Modifié par Tintin75 (01 Aug 2018 - 16:36)
$test est devenu le résultat total
array(1) { [0]=> array(2) { ["nom"]=> string(6) "Fozzie" [0]=> string(6) "Fozzie" } }
dans $test nous avons donc un tableau (array(1)) et dans ce tableau nous avons deux cellules (array(2)) avec comme clef ["nom"] et [0].
à toi de les récupérer. Aide toi d'internet.
array(1) { [0]=> array(2) { ["nom"]=> string(6) "Fozzie" [0]=> string(6) "Fozzie" } }
dans $test nous avons donc un tableau (array(1)) et dans ce tableau nous avons deux cellules (array(2)) avec comme clef ["nom"] et [0].
à toi de les récupérer. Aide toi d'internet.
Après une journée de travail, le dossier est bouclé et fonctionne comme je veux. Un très grand MERCI à JENCAL pour son aide, sa gentillesse et sa patience. Je suis content le code fonctionne comme je voulais. J'ai appris par la même occasion.
Merci encore à toi JENCAL
Modifié par Tintin75 (01 Aug 2018 - 17:07)
Merci encore à toi JENCAL
Modifié par Tintin75 (01 Aug 2018 - 17:07)