Récupération de variable de page en page

Eléphanteau du PHP | 23 Messages

19 janv. 2014, 12:16

Bonjour,

Je suis débutant en PHP et j'aurai besoin de votre aide afin d'écrire un morceau de code.
Dans une de mes pages HTML, j'ai placé un lien qui ouvre un Popup Shadowbox dans lequel s'enchâsse une page HTML externe (cette page m'appartient)
- Récemment, je voulais le code qui permette de fermer le Popup à l'aide d'un bouton, et j'ai réussi à l'écrire grâce à la communauté PHP France - Aujourd'hui, je m'attaque à un autre problème beaucoup plus complexe. Dans la page s'affichant dans mon Popup Shadowbox, j'aimerais récupérer le nom de ma page dans une variable A (PAS LE NOM DE LA PAGE DANS LE POPUP MAIS CELUI DU NAVIGATEUR OÙ SE TROUVE LE LIEN QUI OUVRE LE POPUP, DONC LA PAGE EN ARRIÈRE PLAN) Je précise que la page en arrière plan est une page Wordpress et que le code pour récupérer son nom est <?php echo get_the_title($ID); ?> Donc, une fois le nom de la page récupéré dans le popup (je précise que cette page est indépendante de Wordpress) j'aimerais créer une fonction qui va scanner la colone Y de l'une de mes table Mysql afin d'y trouver l'équivalent de ma variable A. Enfin, l'égalité établis, lancer un processus de récupération d'une donnée X dans une autre colone de ma table Mysql. Ai-je été claire ? Je pense que la solution consiste à récupérer le nom de la page HTML à la soucre (la page WP) à l'aide de <?php echo get_the_title($ID); ?>, mais ensuite, comment récupérer la variable dans le Popup ?

J'ignore par où commencer ! Par le commencement me direz-vous.

Voilà tout ce dont je suis capable pour le moment :cry:

<?php
try
{
$bdd = new PDO ('mysql:host=localhost;dbname=ma_bdd;charset=utf8','opaletour','mon_passe');
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());

}
$reponse = $bdd->query('SELECT * FROM ma_table WHERE nom=\'le_nom\'');
while ($donnees = $reponse->fetch())
{
<?php
echo $donnees['ma_donnee'];
$reponse->closeCursor();
}
?>

MERCI PAR AVANCE !

ViPHP
xTG
ViPHP | 7331 Messages

19 janv. 2014, 12:29

Je ne sais pas comment fonctionne shadowbox, à savoir s'il charge par Ajax ta page ou bien si elle est déjà chargée mais non affichée.
Tu peux essayer de mettre tout simplement :
<?php echo get_the_title($ID); ?>
Dans ta page inclue dans ta shadowbox.
Si tu as la bonne valeur c'est que c'était le second cas.

Si tu n'as pas la bonne valeur il faudra passer la valeur par GET (dans l'url donc) et pour cela il faudra voir avec shadowbox comment on peut passer un paramètre.

Eléphanteau du PHP | 23 Messages

19 janv. 2014, 15:24

Merci pour la réponse. J'aurai du préciser que Shadobow ne récupère pas le nom de la page HTML (rien ne s'affiche dans ma page) Je me doutais que j'aurai à utiliser GET pour 'transporter' ma variable. Dans l'idée, c'est très simple, mais je ne connais malheureusement pas le lexique PHP ni même la grammaire PHP. Je suis dans une phase d'apprentissage.
Serais-ce abuser de te demander comment je peux déclarer une variable dans ma page HTML afin de la récupérer ensuite dans mon Popup Shadobox ?

Eléphanteau du PHP | 23 Messages

19 janv. 2014, 15:40

J'ai essayé ça afin de définir ma variable 'nom' mais ça ne fonctionne pas :

get_the_title($ID);
$ID=$nom;
echo $nom;

ViPHP
xTG
ViPHP | 7331 Messages

19 janv. 2014, 15:42

Pas de variable en HTML, c'est un langage de balisage.

Il te suffit simplement de rajouter ta variable dans le lien.
<a href="page.php?maVariable=<?php echo $maVariable; ?>" rel="shadowbox" title="My Image">My Shadowbox</a>
Edit: visiblement tu ne sais pas ce que tu écris... Une lecture d'un cours sur le PHP te ferrai du bien. ;)
$nom = get_the_title($ID);
echo $nom;

Eléphanteau du PHP | 23 Messages

19 janv. 2014, 16:04

?
Modifié en dernier par franckh le 19 janv. 2014, 16:09, modifié 1 fois.

Eléphanteau du PHP | 23 Messages

19 janv. 2014, 16:08

Si si je comprends ce que j'écris ! Mais le code, la syntaxe sont mauvais. C'est pourquoi j'ai besoin d'aide pour bien formuler ce que je souhaite faire.
- Récupérer ma variable title($ID)
- La stocker dans une nouvelle variable (exemple $identif)
- La transporter dans toutes nouvelles pages qui s'ouvrira

Comment écrire ce code ?

Eléphanteau du PHP | 23 Messages

19 janv. 2014, 16:14

Si si je comprends ce que j'écris ! Mais le code, la syntaxe sont mauvais. C'est pourquoi j'ai besoin d'aide pour bien formuler ce que je souhaite faire.
- Récupérer ma variable title($ID)
- La stocker dans une nouvelle variable (exemple $identif)
- La transporter dans toutes nouvelles pages qui s'ouvrira

Comment écrire ce code ?

Eléphanteau du PHP | 23 Messages

19 janv. 2014, 16:50

Peut-on transporter des variables via l'url vers tout type de page ? (PHP, HTML...)

Eléphanteau du PHP | 23 Messages

19 janv. 2014, 17:09

Je viens de procéder à des essais pour transporter une variable dans l'url. Cela fonctionne, mais ce n'est pas très sécurisant ! La variable apparait dans l'url !

Je préférerais transporter la variable autrement. Je ne trouve pas la solution... :cry:

Eléphant du PHP | 116 Messages

19 janv. 2014, 17:12

Salut,

Regarde du côté des sessions et du referer peut être ... (bien que le referer soit à peine plus sécurisant comme tu dis ! :-) )

Bonnes recherches,
@+,
Computarelier

Eléphanteau du PHP | 23 Messages

19 janv. 2014, 18:56

Bon bon, je verrai session une autre fois. Je voudrais utiliser la méthode via url que tu m'as expliqué parce que je ne transporte pas de données sensibles.

Ma variable s'affiche bien dans l'url, mais je ne parviens pas à la récupérer dans ma page. J'ai essayé tout simplement echo $mavariable; et rien ! Il y a peut être un peu plus de code sur ce coup là, non ?

Eléphant du PHP | 116 Messages

19 janv. 2014, 19:37

T'as essayé avec $_GET['mavariable'] ?
@+,
Computarelier

ViPHP
xTG
ViPHP | 7331 Messages

19 janv. 2014, 20:06

Si si je comprends ce que j'écris !
Ce que je voulais dire c'est que tu ne comprends pas ce que tu codes.
Tu mets des morceaux de code à la suite en espérant que cela fasse ce que tu veux... :?
Une lecture d'un cours basique sur le PHP t'aurai aidé à éviter bon nombre d'erreur.

Eléphanteau du PHP | 23 Messages

19 janv. 2014, 20:10

Oui, ça marche super avec $_GET. Merci !

Maintenant que j'ai la bonne variable, il faut que je créé une fonction qui :

- Permette de trouver l'équivalent de ma variable dans une table Mysql. Exemple, si le titre de ma page ($titre) est = Franck, la fonction doit trouver le nom 'Franck' dans la colonne 'nom' de ma table Mysql.
- Lorsque le nom 'Franck' a été trouvé, il faut que je créé une requête pour récupérer des données du client Franck (exemple : adresse, site web, tél, etc.)

Par où commencer ?