2017-03-10 1 views
0

J'ai un formulaire php sur mon site. Le formulaire produit finalement un article soumis par l'utilisateur.Besoin d'un écho PHP pour produire un lien hypertexte texte sur le tampon

L'un des champs de données du formulaire est un menu déroulant permettant à l'utilisateur de sélectionner la publication qu'il représente.

Actuellement, le formulaire fonctionne si j'essaie seulement d'afficher le nom de leur publication.

Cependant ... J'aimerais aussi que ce nom soit un lien cliquable vers leur publication respective.

Pour tenter d'y parvenir, je mis ma forme comme ceci:

Form: <select name="publication" id="publication"> 
      <option value="http://www.espn.com">ESPN</option> 
      <option value="http://www.cnn.com">CNN</option> 
      <option value="http://www.abcnews.com">ABC</option> 
      <option value="http://www.cbsnews.com">CBS</option> 
      <option value="http://www.foxnews.com">FOX</option> 
      </select> 

Et l'écho est configuré comme ceci:

Echo: 

    <?php $publication = htmlspecialchars($_POST['publication']); echo $publication; ?> 

Malheureusement, le résultat produit l'URL complète au lieu du lien texte que j'essaye d'accomplir.

Vous ne savez pas comment je suis censé coder le formulaire ou l'écho pour obtenir le lien de texte cliquable souhaité.

Répondre

0

La valeur de $_POST['publication'] va être value du <option> choisi, pas le nom d'affichage.

Si vous souhaitez afficher le lien avec le nom, pensez à coder la liste des publications dans un tableau statique, puis la sortie que:

$publications = [ 
    "media1" => "link", 
    "media2" => "link" 
] 

if (array_key_exists($_POST["publication"], $publications)) { 
    echo '<a href="' . $publications[$_POST["publication"]] . '">' . htmlspecialchars($_POST["publication"]) . '</a>'; 
} 
+0

Alors ... dans votre suggestion tyteen ... n'incluez pas du tout la partie link dans le formulaire, mais configurez la référence dans le tableau echo? nom = lien? –

+0

Cela a produit toutes sortes d'erreurs de code lorsque j'ai essayé de l'insérer dans mon code. –

+0

Quelles sont les erreurs? (. La syntaxe de définition de tableau est PHP 5.4+, si vous n'êtes pas sur PHP 7 vous devriez vraiment être mise à niveau) – tyteen4a03

0

Il prend l'option de valeur, pas le innerHTML. Une solution consiste à définir la valeur comme suit:

Remarque: Il se peut que vous deviez désactiver les caractères pour que cela fonctionne.

+0

Cela semble être la solution simple que je cherchais. Je vais essayer cela et revenir à poster des résultats. Merci les gars. –

+0

Malheureusement ... l'insertion de l'exemple ci-dessus n'a pas fonctionné. Il a produit un résultat de

+0

Essayez de supprimer la chose htmlspecialcharactors. Cela pourrait être le problème. –