2 votes

Passez l'identifiant de l'email HTML à la page de destination, puis utilisez-le pour remplir la requête SQL.

J'ai, disons 5 fils d'e-mails (a, b, c, d, e), chaque e-mail est différent. Chaque email contient un lien vers une page de destination.

Ensuite, j'ai un cadre de page d'accueil en php qui extrait des données d'une base de données SQL (actuellement mysql, mais qui pourrait être modifiée en utilisant PDO) afin d'afficher un contenu différent en fonction du fil de discussion de l'utilisateur. Donc 1 page de destination php, mais 5 lignes dans la base de données pour alimenter 5 versions différentes de cette page de destination en fonction de l'email d'où provient le visiteur.

La requête actuelle de ma page de renvoi ressemble à ceci :

<?php
       $result = "SELECT body_copy FROM low_engagement WHERE thread_segment = 'a3'";
       $stmt = $connection->prepare($result);
       $stmt->execute();
       $body_copy = "";
       while($row = $stmt->fetch()) {
       $bodyCopy = $row['body_copy'];
       }
?>

Si je modifie manuellement le clause intitulée segment de fil à travers les valeurs de "a1", "a2", "a3", "a4" et "a5", ma page de destination est mise à jour avec le contenu approprié en fonction de chacun des 5 fils.

Ma question est la suivante : est-il possible de marquer le href dans l'e-mail HTML de sorte que, lorsque ce lien renvoie à la page d'accueil, il puisse, d'une manière ou d'une autre, interagir avec la page d'accueil en lui indiquant duquel des 5 liens e-mail/email il provient et modifier dynamiquement la valeur du thread_segment en conséquence ?

Je suis assez novice en matière de PHP/PDO et je suis donc ouvert à toute suggestion et/ou orientation. Mes recherches actuelles sur le sujet m'amènent à chercher la possibilité de passer une variable par l'un des nombreux moyens, mais la plupart du contenu que je trouve concerne les formulaires.

Toute information est la bienvenue !

4voto

A K Points 198

Oui, il suffit de passer le thread_segment dans le href de l'email, comme : quelque.url.com/page.php?s=a3 et changez votre pdo en quelque chose comme :

<?php
   $result = "SELECT body_copy FROM low_engagement WHERE thread_segment = :s";
   $stmt = $connection->prepare($result);
   $stmt->bind_param(':s', $_GET['s']);
   $stmt->execute();
   $body_copy = "";
   while($row = $stmt->fetch()) {
       $bodyCopy = $row['body_copy'];
   }
?>

1voto

gordonk Points 315

Vous pouvez utiliser les variables HTTP GET pour transmettre des informations à l'aide d'une URL.

Par exemple, le Lien : http://yourlink.org?segment=a1

En ?segment=a1 associés segment avec la valeur a1 vous pouvez ajouter d'autres paramètres en les séparant avec & comme ça : ?segment=a1&language=en

Je suis très explicite avec les noms de variables ici, généralement vous essayez de garder l'url aussi court que possible.

Vous pouvez ensuite accéder à cette variable en PHP en utilisant $_GET :

$_GET["segment"]

Consultez les documents PHP pour plus d'informations http://www.php.net/manual/en/reserved.variables.get.php

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X