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
A voir également:

12 réponses

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
Maxou88100 Messages postés 197 Date d'inscription   Statut Membre Dernière intervention   11
 
Bonjour,


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

par

$Champ .= $_POST[NomLien] ;
0
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
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

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

Posez votre question
Maxou88100 Messages postés 197 Date d'inscription   Statut Membre Dernière intervention   11
 
Qu'est ce que ça t'affiche quand tu test ??
0
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
dreustounet Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   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
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
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
Mike0931
 
ok ok où alors je mets un isset (comme ça il y a moins de problème pendant le développement).
0
Maxou88100 Messages postés 197 Date d'inscription   Statut Membre Dernière intervention   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
Mike0931
 
Non je n'ai plus d'erreurs
0
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