2009-02-18 5 views
1

J'ai un test.php fichier avec le code suivant:formulaire n'est pas montré

<html> 
<head> 
<title>Listing 10.2 </title> 
</head> 
<body> 
<div> 

<form method="post" action="test.php" > 
    <p> <input type="text" name="guess"/> </p> 
</form> 

<?php 
if(!empty($_POST['guess'])) { 
    print "Last guess $_POST['guess']"; 
} 
?> 

</div> 

</body> 
</html> 

J'ai un problème avec la forme ne se présente pas. Cependant, si je supprime la partie PHP du code, elle est visible. Quel est mon problème?

Répondre

2

Vous ne pouvez pas intégrer la variable $ _POST dans la chaîne comme ça, en essayant de changer la section php:

<?php 
if(!empty($_POST['guess'])) { 
    print "Last guess {$_POST['guess']}"; 
} 
?> 
+0

Merci, cela fonctionne. Pourquoi $ _POST est-il un cas particulier? Si je mets une variable aléatoire, elle sera imprimée normalement. – ark

+0

Voir ici http://us2.php.net/types.string#language.types.string.parsing – tj111

+0

Plus précisément, ce n'est pas le $ _POST qui cause le problème, c'est le tableau associatif. Le crochet n'est pas un caractère valide à utiliser dans un nom de variable, donc l'analyse de chaîne simple s'arrête à ce point. Vous devez utiliser la syntaxe "complexe" pour incorporer des tableaux dans des chaînes. –

0

utilisation. pour les valeurs de combinaison et les chaînes

if(!empty($_POST['guess'])) 
{ 
    echo "Last guess".$_POST['guess']; 
} 
Questions connexes