Function recuperer_info_membre_choisi() en pdo

Résolu/Fermé
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 - 10 juin 2015 à 19:38
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 - 10 juin 2015 à 22:11
Bonjour,

J'ai cette function que je voudrais convertir en pdo :
<?php
// la fonction qui va recuperer les informations de la personne choisi par l'utilisateur
function recuperer_info_membre_choisi()
{
$results = array();
$pseudo = mysql_real_escape_string(htmlentities($_GET['pseud
o']));

$query = mysql_query("SELECT * FROM utilisateurs WHERE pseudo='$pseudo'");
while ($row = mysql_fetch_assoc($query))
{
$results[] = $row;
}

return $results;

} 


comme j'ai fais maintes erreurs à ce sujet, je pourrais solliciter votre aide ? je vous remercie d'avance: )

10 réponses

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
10 juin 2015 à 22:10
<?php
//-----------------------------
 //Profile.php 
//-----------------------------

include_once('body/header.php');
include_once('body/menu.php');
?>
<div class='info'>
<?php
if(!function_exists('recuperer_info_membre_choisi')){
 echo "ERREUR : La fonction recuperer_info_membre_choisi n'existe pas ! ";
}
$pseudo = isset($_GET['pseudo'])?$_GET['pseudo']:NULL;
$infos_membres_choisis = recuperer_info_membre_choisi($pseudo);

foreach($infos_membres_choisis as $info_membre_choisi) {
 echo"<img src='avatar/". $info_membre_choisi['avatar']."' height='200' width='200' alt='avatar'>";
     echo "<p><strong>Email : </strong><em>".$info_membre_choisi['email']."</em></p>";
     echo "<p><strong>Sexe : </strong><em>".$info_membre_choisi['sexe']."</em></p>";
     echo "<p><strong>A propos de vous : </strong><em>".$info_membre_choisi['apropos']."</em></p>";
}
?>
</div>


1
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
10 juin 2015 à 22:11
Merci infiniement et bon repos ! :)
0
hharchi9 Messages postés 567 Date d'inscription mercredi 18 décembre 2013 Statut Membre Dernière intervention 1 juillet 2015 24
10 juin 2015 à 19:42
Essaye ça :
<?php
// la fonction qui va recuperer les informations de la personne choisi par l'utilisateur
function recuperer_info_membre_choisi()
{
global $bdd; // déclaration globale de BDD
$pseudo = htmlspecialchars(strip_tags($_GET['pseud
o']));

$query = $bdd->prepare("SELECT * FROM utilisateurs WHERE pseudo=:pseudo");
$query->execute(array(':pseudo' =>$pseudo));
$results=$query->fetchall();

return $results;

} 
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
10 juin 2015 à 19:54
J'obtiens ça ; Parse error: syntax error, unexpected 'body' (T_STRING) in C:\wamp\www\rs\pages\profile.php on line 3

profile.php :

<?php
include('functions/membre.func.php);
include('body/header.php');
include('body/menu.php');
?>
<div class='info'>
<?php
$info_membres_choisi = recuperer_info_membre_choisi();

   foreach($infos_membres_choisis as $info_membre_choisi
   {
	   ?>
	               <img src="avatar/<?php echo $info_membre_choisi['avatar']; ?>"" height='200' width='200' alt='avatar'>
                   <p><strong>Email : </strong><em><?php echo $info_membre_choisi['email']; ?></em></p>
                   <p><strong>Sexe : </strong><em><?php echo $info_membre_choisi['sexe']; ?></em></p>
                   <p><strong>A propos de vous : </strong><em><?php echo $info_membre_choisi['apropos']; ?></em></p>
	   <?php
   }
?>
</div>
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649 > Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020
10 juin 2015 à 19:57
Ligne 2... il te manque une quote
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
10 juin 2015 à 19:59
ah merci ! j'ai mtn : Parse error: syntax error, unexpected '?> ' in C:\wamp\www\rs\pages\profile.php on line 12
0
hharchi9 Messages postés 567 Date d'inscription mercredi 18 décembre 2013 Statut Membre Dernière intervention 1 juillet 2015 24
10 juin 2015 à 20:09
tu n'as pas fermé la parenthèse de ton foreach
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
10 juin 2015 à 20:14
J'obtiens mtn :

Notice: Undefined variable: infos_membres_choisis in C:\wamp\www\rs\pages\profile.php on line 10

Warning: Invalid argument supplied for foreach() in C:\wamp\www\rs\pages\profile.php on line 10
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
10 juin 2015 à 20:16
Commence par nous remontrer le code CORRIGE qu'on sache où tu en es !
Penses également à nous mettre le code de ta fonction recuperer_info_membre_choisi()
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
Modifié par Zakarya93 le 10/06/2015 à 20:19
Bah c'est le même sauf que j'ai rajouté ma parenthèse :
<?php
include('functions/membre.func.php');
include('body/header.php');
include('body/menu.php');
?>
<div class='info'>
<?php
$info_membres_choisi = recuperer_info_membre_choisi();

   foreach($infos_membres_choisis as $info_membre_choisi
   {
    ?>
                <img src="avatar/<?php echo $info_membre_choisi['avatar']; ?>"" height='200' width='200' alt='avatar'>
                   <p><strong>Email : </strong><em><?php echo $info_membre_choisi['email']; ?></em></p>
                   <p><strong>Sexe : </strong><em><?php echo $info_membre_choisi['sexe']; ?></em></p>
                   <p><strong>A propos de vous : </strong><em><?php echo $info_membre_choisi['apropos']; ?></em></p>
    <?php
   }
?>
</div>


profile.func.php :

<?php
// la fonction qui va recuperer les informations de la personne choisi par l'utilisateur
function recuperer_info_membre_choisi()
{
global $bdd; // déclaration globale de BDD
$pseudo = htmlspecialchars(strip_tags($_GET['pseudo']));

$query = $bdd->prepare("SELECT * FROM utilisateurs WHERE pseudo=:pseudo");
$query->execute(array(':pseudo' =>$pseudo));
$results=$query->fetchall();

return $results;

}
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
10 juin 2015 à 20:18
... c'est le même ...????
Et la correction de la ligne 2 ?????????
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649 > jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024
10 juin 2015 à 20:19
Ne vois tu pas, quand tu postes ton message dans le forum... que les couleurs de tes différentes lignes peuvent sembler "bizarre" aux lignes 3 4 ... ????
Penses bien qu'une chaine de caractères .. commence ET SE TERMINE par des quotes ! (simples ou doubles..peu importe... du moment que c'est le mêmes qui ouvrent et qui ferment !)
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
10 juin 2015 à 20:20
ah mince j'ai juste fait un c/c de ce topic, je l'avais déjà faite la modif ligne 2 sur mon notepad++ pardon
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649 > Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020
10 juin 2015 à 20:20
Ah mince j'ai juste fait un c/c de ce topic, je l'avais déjà faite la modif ligne 2 sur mon notepad++ pardon

C'est bien pour ça .. qu'a chaque fois que je te demande le code ... je veux celui QUI EST SUR TON PC ... et pas celui du topic ! .. ce n'est pas la première fois que je te le dis.....
Merci de faire attention.
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
10 juin 2015 à 20:23
Que vient faire l'include
include('functions/membre.func.php'); 
 

dans ce code ?
Alors que tu utilises la page profile.func.php ...
l'erreur ne serait-elle pas là ?
Et pourquoi est-ce un INCLUDE au lieu d'un REQUIRE_ONCE (comme pour tes autres pages... voir mes remarques précédentes .... dans tes précédentes questions.....)
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
10 juin 2015 à 20:25
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
10 juin 2015 à 20:28
J'ai rien dit, ce sujet traite de liste_membre.php...
sinon j'ai commenté cette ligne de code et aussi testé le require once rien n'a fonctionné
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
10 juin 2015 à 20:29
tu as essayé d'inclure ta page profile.func.php à la place de membre.func.php ??
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10 > jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024
10 juin 2015 à 20:33
Oui j'obtiens : Fatal error: Cannot redeclare recuperer_info_membre_choisi() (previously declared in C:\wamp\www\rs\functions\profile.func.php:3) in C:\wamp\www\rs\functions\profile.func.php on line 14

et avec le require_once j'ai les 2 memes erreurs
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
10 juin 2015 à 20:48
et avec le require_once j'ai les 2 memes erreurs

Normale ... car VU qu'il est déjà déclaré dans ton INDEX.PHP ... il ne le remet pas ... contrairement à l'include (ou au require) simple (c'est à dire ...sans le ONCE )....

Pour ce qui est des messages d'erreurs... et pour calmer mes doutes... pourrais tu (encore) ... nous mettre le code de tes deux pages ?



PS: Si tu pouvais utiliser le BOUTON : REPONDRE .. au lieu de mettre tes messages en commentaires... cela rendrait le suivi de la discussion plus simple. Merci.
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
10 juin 2015 à 20:54
Profile.php

<?php
require('functions/profile.func.php');
include('body/header.php');
include('body/menu.php');
?>
<div class='info'>
<?php
$info_membres_choisi = recuperer_info_membre_choisi();

   foreach($infos_membres_choisis as $info_membre_choisi)
   {
	   ?>
	               <img src="avatar/<?php echo $info_membre_choisi['avatar']; ?>"" height='200' width='200' alt='avatar'>
                   <p><strong>Email : </strong><em><?php echo $info_membre_choisi['email']; ?></em></p>
                   <p><strong>Sexe : </strong><em><?php echo $info_membre_choisi['sexe']; ?></em></p>
                   <p><strong>A propos de vous : </strong><em><?php echo $info_membre_choisi['apropos']; ?></em></p>
	   <?php
   }
?>
</div>


Profile.func.php :

<?php
// la fonction qui va recuperer les informations de la personne choisi par l'utilisateur
function recuperer_info_membre_choisi()
{
global $bdd; // déclaration globale de BDD
$pseudo = htmlspecialchars(strip_tags($_GET['pseudo']));

$query = $bdd->prepare("SELECT * FROM utilisateurs WHERE pseudo=:pseudo");
$query->execute(array(':pseudo' =>$pseudo));
$results=$query->fetchall();

return $results;

}
0
ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 225
10 juin 2015 à 20:59
P.S.: bien que ce que tu fais ne soit pas incorrect, par convention on stocke les infos non transformées dans la BDD, et on les convertit (ici
htmlspecialchars(strip_tags
) uniquement dès la sortie. Autrement dit cette conversion n'a pas sa place dans les requêtes, mais uniquement lors de l'affichage du pseudo sur la page.
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10 > ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021
10 juin 2015 à 21:03
du coup ça donne ? :
?php
// la fonction qui va recuperer les informations de la personne choisi par l'utilisateur
function recuperer_info_membre_choisi()
{
global $bdd; // déclaration globale de BDD
$pseudo = ($_GET['pseudo']));

$query = $bdd->prepare("SELECT * FROM utilisateurs WHERE pseudo=:pseudo");
$query->execute(array(':pseudo' =>$pseudo));
$results=$query->fetchall();

return $results;

}
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
Modifié par jordane45 le 10/06/2015 à 21:21
Bon... je recommence ...
La ligne 2 est INUTILE .....
Si tu essaies de comprendre un minimum ce que tu codes ... tu vas comprendre que tu fais DEJA un include de tes fonctions dans ton INDEX.PHP.
( Lorsque tu affiches une page toto .... tu fais EN MEME TEMPS un include de toto.func.php ) !


Bon.. ensuite :
Evite de récupérer les variables GET DANS tes fonctions... traite les AVANT .. et passe les en PARAMETRES DE TA FONCTION.

de plus (comme déjà dit...) ... Pour toutes tes variables de type POST / GET / SESSION / COOKIE ...... vérifie AVANT de les utiliser... qu'elles existent. Cela se fait via la fonction ISSET.

Essayes ça :
Profile.php
<?php
//-----------------------------
 //Profile.php 
//-----------------------------

include_once('body/header.php');
include_once('body/menu.php');
?>
<div class='info'>
<?php
$pseudo = isset($GET|'pseudo'])?$GET|'pseudo']:NULL;
$info_membres_choisi = recuperer_info_membre_choisi(pseudo);

foreach($infos_membres_choisis as $info_membre_choisi) {
 echo"<img src='avatar/". $info_membre_choisi['avatar']."' height='200' width='200' alt='avatar'>";
     echo "<p><strong>Email : </strong><em>".$info_membre_choisi['email']."</em></p>";
     echo "<p><strong>Sexe : </strong><em>".$info_membre_choisi['sexe']."</em></p>;"
     echo "<p><strong>A propos de vous : </strong><em>".$info_membre_choisi['apropos']."</em></p>";
}
?>
</div>


(tu noteras qu'encore une fois.. je t'ai tout remis en PHP (pour éviter d'ouvrir/fermer des balises PHP partout dans ton code ! )

//Profile.func.php
<?php
//-----------------------------
//Profile.func.php 
//-----------------------------
// la fonction qui va recuperer les informations de la personne choisi par l'utilisateur
function recuperer_info_membre_choisi($pseudo = NULL) {
global $bdd; // déclaration globale de BDD

$result = array();
if($pseudo){
  $sql = "SELECT * FROM utilisateurs WHERE pseudo=:pseudo" ;
  $query = $bdd->prepare($sql);
  $query->execute(array(':pseudo' =>$pseudo));
  $result=$query->fetchall();
}
return $result;

}



edit : ajout d'un IF dans le fichier profil.func.php

Cordialement,
Jordane
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
10 juin 2015 à 21:23
Merci pour ces explications ! j'ai donc ceci : Parse error: syntax error, unexpected ']' in C:\wamp\www\rs\pages\profile.php on line 11
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649 > Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020
10 juin 2015 à 21:27
Oui.. erreur de touche de clavier...
A ton avis .. qu'est-ce qui n'est pas bon dans cette ligne de code :
$pseudo = isset($GET|'pseudo'])?$GET|'pseudo']:NULL;


Essaye de trouver AVANT de lire ce qui est en dessous...

..... Je me suis trompé et aie mis un PIPE | ... au lieu d'un crochet [
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649 > jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024
10 juin 2015 à 21:28
Ce qui donne :

$pseudo = isset($GET['pseudo'])?$GET['pseudo']:NULL;

0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
10 juin 2015 à 21:30
Merci ! mtn j'ai Parse error: syntax error, unexpected ']' in C:\wamp\www\rs\pages\profile.php on line 11
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
10 juin 2015 à 21:34
2 barres en fait c pour ça !
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
10 juin 2015 à 21:34
J'ai mtn cette erreur : Parse error: syntax error, unexpected 'echo' (T_ECHO), expecting ',' or ';' in C:\wamp\www\rs\pages\profile.php on line 18
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
10 juin 2015 à 21:36
Regarde ligne 17.. j'ai fait une erreur en fin de ligne
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10 > jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024
10 juin 2015 à 21:38
C corrigé ! j'ai mtn 3 erreurs :'(

Notice: Use of undefined constant pseudo - assumed 'pseudo' in C:\wamp\www\rs\pages\profile.php on line 12

Notice: Undefined variable: infos_membres_choisis in C:\wamp\www\rs\pages\profile.php on line 14
Call Stack

Warning: Invalid argument supplied for foreach() in C:\wamp\www\rs\pages\profile.php on line 14
Call Stack
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
10 juin 2015 à 21:51
Je fais beaucoup d'erreur ce soir .... faut que j'aille dormir... ^^

Si tu regardes bien à la ligne 12 .. tu vas voir que j'ai oublié un $ ....

$pseudo = isset($GET|'pseudo'])?$GET|'pseudo']:NULL;
$info_membres_choisi = recuperer_info_membre_choisi($pseudo);


0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
10 juin 2015 à 21:53
Ensuite .... Ligne 14 ... ... le nom de la variable ne correspond pas à celle de la ligne 12 ... (infos ..et info sans S )
change la ligne 12 comme ceci :
$pseudo = isset($GET|'pseudo'])?$GET|'pseudo']:NULL;
$infos_membres_choisis = recuperer_info_membre_choisi($pseudo);
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
10 juin 2015 à 21:53
Oh je ne voudrais surtout pas vous en priver ^^
j'ai mtn : Notice: Undefined variable: infos_membres_choisis in C:\wamp\www\rs\pages\profile.php on line 14

Warning: Invalid argument supplied for foreach() in C:\wamp\www\rs\pages\profile.php on line 14
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
10 juin 2015 à 22:05
Tu peux me reposter le code corrigé de ta page //Profile.php ?
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
10 juin 2015 à 22:06
<?php
//-----------------------------
 //Profile.php 
//-----------------------------

include_once('body/header.php');
include_once('body/menu.php');
?>
<div class='info'>
<?php
$pseudo = isset($GET['pseudo'])?$GET['pseudo']:NULL;
$info_membres_choisis = recuperer_info_membre_choisi($pseudo);

foreach($infos_membres_choisis as $info_membre_choisi) {
 echo"<img src='avatar/". $info_membre_choisi['avatar']."' height='200' width='200' alt='avatar'>";
     echo "<p><strong>Email : </strong><em>".$info_membre_choisi['email']."</em></p>";
     echo "<p><strong>Sexe : </strong><em>".$info_membre_choisi['sexe']."</em></p>";
     echo "<p><strong>A propos de vous : </strong><em>".$info_membre_choisi['apropos']."</em></p>";
}
?>
</div>
0