Problème fonction PHP

Résolu
Mike0931 -  
fxtaa Messages postés 1050 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'aimerais grâce à un champ de saisi faire passer le caractère saisi dans une fonction.
Cette fonction me permet de créer un lien vers un site (lequipe.fr mis au hasard) dont le nom du lien est donné par l'utilisateur.

Voici mon code :

<?php
function Lien($Nomlien) // Création de la fonction
{

$Champ = '<a href="www.lequipe.fr"> ';
$Champ .= $NomLien ;
$Champ .= '</a>';
return $Champ;
echo $champ;
}
?>

<form method="post">
<p><input id="NomLien" type="text" name="Nomlien" /><?php echo Lien('$_POST[NomLien]');?></p>
</form>

Le soucis c'est que j'ai testé pleins de possibilité mais j'ai toujours des problèmes (on dirait que dès que je saisi un mot, celui ci n'est pas reconnu avec le $_POST)

Merci d'avance.

Bonne journée

Mika
Configuration: Windows XP / Firefox 3.5.8

12 réponses

  1. fxtaa Messages postés 1050 Date d'inscription   Statut Membre Dernière intervention   74
     
    Salut,

    <p><input id="NomLien" type="text" name="NomLien"> <?php echo Lien('$_POST[NomLien]');?>

    et met un @ ici : @$Champ .= $_POST[NomLien] ; pour ne pas avoir d erreur quand $_POST[NomLien] n existe pas
    1
  2. Maxou88100 Messages postés 249 Statut Membre 11
     
    Bonjour,

    Essaye ça:
    Remplace
    $Champ .= $NomLien ;

    par

    $Champ .= $_POST[NomLien] ;
    0
  3. Mike0931
     
    Merci de la réponse mais cela ne marche toujours pas avec le code suivant (en ayant changé ce que tu m'as dit) :

    <?php
    function Lien($Nomlien) // Création de la fonction
    {

    $Champ = '<a href="www.lequipe.fr"> ';
    $Champ .= $_POST[NomLien] ;
    $Champ .= '</a>';
    return $Champ;
    echo $champ;
    }

    if (isset($_POST['couleur'])) // On vérifie si le visiteur a déjà choisi une couleur
    {
    echo '<p>Votre couleur préférée est le : ' . htmlspecialchars($_POST['couleur']) . '</p>';
    }

    ?>

    <form method="post">
    <p><input id="NomLien" type="text" name="Nomlien"> <?php echo Lien('$_POST[NomLien]');?></input></p>
    </form>
    0
  4. Mike0931
     
    Désolé le isset n'a rien à faire la; le code :

    <?php
    function Lien($Nomlien) // Création de la fonction
    {

    $Champ = '<a href="www.lequipe.fr"> ';
    $Champ .= $_POST[NomLien] ;
    $Champ .= '</a>';
    return $Champ;
    echo $champ;
    }

    ?>

    <form method="post" action="UploadDoc.php">
    <p><input id="NomLien" type="text" name="Nomlien"> <?php echo Lien('$_POST[NomLien]');?></input></p>
    </form>
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Maxou88100 Messages postés 249 Statut Membre 11
     
    Qu'est ce que ça t'affiche quand tu test ??
    0
  7. Mike0931
     
    Notice: Use of undefined constant NomLien - assumed 'NomLien' in C:\Program Files\EasyPHP 2.0b1\www\UploadDoc.php on line 5

    Notice: Undefined index: NomLien in C:\Program Files\EasyPHP 2.0b1\www\UploadDoc.php on line 5
    0
  8. dreustounet Messages postés 21 Statut Membre 3
     
    Bonjour,
    <?php
    function Lien($_POST['NomLien']) // Création de la fonction
    {

    echo $_POST['NomLien'] ;

    ....
    ....
    ....

    essai sa afin de voir si tu récupère correction la valeur
    0
  9. Mike0931
     
    Merci à tous,

    Le problème venait effectivement de la majuscule (erreur bête).
    Je ne connaissais pas l'astuce du @, il s'avère très pratique...

    Tout marche nikel, je n'ai plus de soucis.

    Bonne journée
    0
    1. fxtaa Messages postés 1050 Date d'inscription   Statut Membre Dernière intervention   74
       
      Je te conseil d'utiliser le @ quand ta page est fini, masquer une erreur n'est pas toujours la meilleure solution pendant le développement d un site.
      0
  10. Mike0931
     
    ok ok où alors je mets un isset (comme ça il y a moins de problème pendant le développement).
    0
  11. Maxou88100 Messages postés 249 Statut Membre 11
     
    Juste une question Mike, si tu enlève le @ lorsque ton $_POST[NomLien] existe es ce que tu as encore une erreur ? Parce que @ c'est bien mais ça ne règle pas tout :p
    0
  12. fxtaa Messages postés 1050 Date d'inscription   Statut Membre Dernière intervention   74
     
    Tout dépend de si il reset ca page, étant donné que l'erreur vient du fait que sa variable $_POST n'est pas définit. Du moin lors du premier envoi de formulaire. Donc pour éviter cetter erreur, tu met @ devant ton $_POST ou alors :

    if (isset($_POST['xxxxxx'])){
    $bob = $_POST['xxxx'];
    }
    0