7936 sujets

Développement web côté serveur, CMS

Pages :
(reprise du message précédent)

Tu sais que je t'aime bien, mais c'est pas le but de la manoeuvre
	<?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 !
que te donne ce code maintenant :

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();
var_dump($req);
$req = $req->fetch(PDO::FETCH_ASSOC);
Je ne suis pas pro, Anymah et je n'ai aucune prétention. J'ai juste besoin de développer ce foutu bout de code.
Je suis connais bien mon niveau qui n'est pas haut. Merci du conseil.
1object(PDOStatement)#4 (1) { ["queryString"]=> string(37) "SELECT nom FROM Compte WHERE id = :id" }

Retour écran.

1array(0) { }
Modifié par Tintin75 (01 Aug 2018 - 15:07)
Donc...

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)
4array(1) { [0]=> array(2) { ["nom"]=> string(6) "Fozzie" [0]=> string(6) "Fozzie" } }

Le nom est bien Fozzie WACKAWACKA Smiley lol
Modifié par Tintin75 (01 Aug 2018 - 15:21)
<?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 Smiley smile
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. Smiley bawling

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 Smiley bawling
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.
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
Smiley prie Smiley clapclap Smiley merci Smiley winner
Modifié par Tintin75 (01 Aug 2018 - 17:07)