Problème fonction PHP

Résolu/Fermé
Mike0931 - 17 mars 2010 à 10:53
fxtaa Messages postés 1050 Date d'inscription mardi 20 octobre 2009 Statut Membre Dernière intervention 2 avril 2015 - 17 mars 2010 à 13:50
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 mardi 20 octobre 2009 Statut Membre Dernière intervention 2 avril 2015 74
17 mars 2010 à 11:53
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 jeudi 3 décembre 2009 Statut Membre Dernière intervention 17 juin 2010 11
17 mars 2010 à 10:59
Bonjour,


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

par

$Champ .= $_POST[NomLien] ;
0
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
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 jeudi 3 décembre 2009 Statut Membre Dernière intervention 17 juin 2010 11
17 mars 2010 à 11:42
Qu'est ce que ça t'affiche quand tu test ??
0
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 jeudi 25 février 2010 Statut Membre Dernière intervention 18 mars 2010 3
17 mars 2010 à 11:52
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
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 mardi 20 octobre 2009 Statut Membre Dernière intervention 2 avril 2015 74
17 mars 2010 à 12:00
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
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 jeudi 3 décembre 2009 Statut Membre Dernière intervention 17 juin 2010 11
17 mars 2010 à 12:27
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
Non je n'ai plus d'erreurs
0
fxtaa Messages postés 1050 Date d'inscription mardi 20 octobre 2009 Statut Membre Dernière intervention 2 avril 2015 74
17 mars 2010 à 13:50
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