2009-01-14 9 views
5

Nouveau sur PHP et le développement web en général. J'essaie d'obtenir des informations à partir d'un formulaire HTML pour apparaître dans un tableau sur une autre page Web après avoir cliqué sur Soumettre. J'ai donc installé Apache puis PHP sur mon PC local et je pensais être capable de tester un script PHP localement mais il ne restitue pas les informations que j'attendais. Ce qui suit est le code pour la forme:Test d'un script PHP sur un ordinateur local

<form method="post" action="showform.php"> 

Please fill out the following form if you would like to be contacted: <br/> 
    Name:<input type="text" name="name" /> <br/><br/> 
    Company: <input type="text" name="company"/> <br/><br/> 
    Phone: <input type="text" name="phone" /> <br/><br/> 
    Email: <input type="text" name="email" /> <br/><br/> 

    <input type="submit" name="Submit" value="Submit" /> 
</form> 

Ce qui suit est le code pour le script php:

<table> 
<tr><th>Field Name</th><th>Value(s)</th></tr> 

<?php 
if (empty($_POST)) { 
print "<p>No data was submitted.</p>"; 
} else { 

foreach ($_POST as $key => $value) { 
if (get_magic_quotes_gpc()) $value=stripslashes($value); 
if ($key=='extras') { 

if (is_array($_POST['extras'])){ 
    print "<tr><td><code>$key</code></td><td>"; 
    foreach ($_POST['extras'] as $value) { 
      print "<i>$value</i><br />"; 
      } 
      print "</td></tr>"; 
    } else { 
    print "<tr><td><code>$key</code></td><td><i>$value</i></td></tr>\n"; 
    } 
} else { 

print "<tr><td><code>$key</code></td><td><i>$value</i></td></tr>\n"; 
} 
} 
} 
?> 
</table> 
</body> 
</html> 

Je sais que cela fonctionne lorsqu'il est utilisé sur Internet, mais comment se fait-il ne travailler localement. J'ai vérifié que Apache et PHP sont installés correctement. Quel pourrait être le problème? Le résultat actuel est une table avec $ key et $ value aux endroits où les valeurs correctes devraient être, en d'autres termes dans les cellules du tableau. Merci pour votre aide. MISE À JOUR: Travaillant maintenant à travers WAMPSERVER - merci à tous ceux qui ont aidé!

+0

Est-ce que PHP est en cours de traitement, ou votre script ne fonctionne-t-il pas comme prévu? Essayez de créer un fichier PHP avec le contenu: strager

+0

aboutit à une page d'informations sur la configuration de php renvoyée. Le problème consiste à obtenir les valeurs du formulaire dans la table sur la page Web distincte lors du test en local. –

+0

Quelle version de PHP utilisez-vous? – strager

Répondre

7

Découvrez xampp. Il installe Apache, Mysql, Perl et PHP sur votre machine afin que vous puissiez tester votre site entier localement. C'est un programme d'installation one shot et est livré avec un panneau de contrôle astucieux pour activer/désactiver chaque service au besoin.

0

Il semble que votre script PHP ne soit pas analysé si vous obtenez littéralement $value. Essayez d'exécuter un phpinfo() de base pour vérifier cela.

Si PHP ne le détecte pas, assurez-vous que le chemin d'accès à PHP est défini sur httpd.conf. Je recommanderais cependant d'utiliser xampp - je suis terrible dans toute la configuration locale et je laisse l'installateur automatique le configurer pour moi. Je sais assez pour ajouter de nouveaux modules, etc. plus tard.

-2

À première vue, il semble que vous essayez de placer des variables, mais vous placez les variables dans une chaîne.

donc ceci:

print "<tr><td><code>$key</code></td><td><i>$value</i></td></tr>\n"; 

devrait être quelque chose comme:

print "<tr><td><code>" . $key . "</code></td><td><i>" . $value . "</i></td></tr>\n"; 
+3

Ceci est incorrect. Si une variable est vue dans une chaîne entre guillemets doubles, elle est insérée dans la chaîne comme vous le souhaitez. Si une citation unique était utilisée, la chaîne devrait être divisée comme vous l'avez montré. – strager

3

Vous pouvez également essayer WampServer.

C'est un paquet contenant: Apache, MySQL, PHP (préconfiguré pour Windows).

+0

Merci, je l'ai eu à travers WampServer. Très appréciée! –

Questions connexes