Apache, php, mais lequel déconne ?

R5555

Membre confirmé
10 Décembre 2003
71
1
Voilà, j' ai installer Apache et PHP ( Apache/2.0.47 (Unix) DAV/2 PHP/4.3.2 ). Mais j'ai un gros problème !
Je me suis mit au php et j' ai voulu tester les tutos du bouquin, mais ceux ci ne marchaient pas. Croyant que c' était ma faute, j' ai télécharger sur le site officiel des example et eux non plsu ne marchent pas. Et cette erreur m' arrive avec bcp de script ( le seul qui marche, c' est PhpBB ).
Voilà mon problème, lorsque je remplis un forùmulaire, les données ne sont pas transmise et/ou la page fait comme si elle se rachargeait. Voici 2 sources de scripts qui me font ça !

---- script 01 ----
La page de formulaire :
<font color="red">&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Entering Information into a Form&lt;/title&gt;
&lt;/head&gt;
&lt;form action="form_results.php" method="GET"&gt;
&lt;p&gt;First Name: &lt;input type="text" name="first_name"&gt;
&lt;br&gt;Last Name: &lt;input type="text" name="last_name"&gt;
&lt;br&gt;Address: &lt;input type="text" name="address"&gt;
&lt;br&gt;City: &lt;input type="text" name="city"&gt;
&lt;br&gt;State: &lt;input type="text" name="state"&gt;
&lt;br&gt;Zip: &lt;input type="text" name="zip"&gt;
&lt;br&gt;Home Phone: &lt;input type="text" name="home_phone"&gt;
&lt;p&gt;&lt;input type="submit" name="Submit" value="Submit"&gt;
&lt;input type="Reset"&gt;
&lt;/form&gt;
&lt;/body&gt;
&lt;/html&gt;
</font>

La page d' affichage des données :

<font color="red">&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Form Results&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h2&gt;Below are the results of your Form Submission&lt;/h2&gt;
&lt;?php
print("&lt;p&gt;First Name: &lt;b&gt;$first_name&lt;/b&gt;\n");
print("&lt;br&gt;Last Name: &lt;b&gt;$last_name&lt;/b&gt;\n");
print("&lt;br&gt;Address: &lt;b&gt;$address&lt;/b&gt;\n");
print("&lt;br&gt;City: &lt;b&gt;$city&lt;/b&gt;\n");
print("&lt;br&gt;State: &lt;b&gt;$state&lt;/b&gt;\n");
print("&lt;br&gt;Zip: &lt;b&gt;$zip&lt;/b&gt;\n");
print("&lt;br&gt;Home Phone: &lt;b&gt;$home_phone&lt;/b&gt;\n");
?&gt;
&lt;/body&gt;
&lt;/html&gt;
</font>


-----Scipt 02 --- ( avec l' effet : page qui se recharge, j' ai le même problème dans la page de conig avec phpmyannu )
<font color="red">&lt;html&gt;
&lt;head&gt;
&lt;title&gt;ZIP Code Checker&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;?php
if(isset($submit)):
$zip = trim($zip);
$zip_length = strlen($zip);
$zip_test = substr($zip, -5, 1);
if(($zip_length &gt; '5' &amp;&amp; $zip_test != '-') || ($zip_length &lt; '5')):
?&gt;
&lt;p&gt;That doesn't appear to be a valid ZIP or ZIP+4 ZIP code.
&lt;p&gt;ZIP codes should be in the format of "12345" or "12345-1234".
&lt;?
else:
print("Thanks. Now that's a good ZIP code!");
endif;
else:
?&gt;
&lt;form action="zip_check.php3" method="POST"&gt;
Please enter your Zip code: &lt;input type="text" name="zip" size="10" maxlength="10"&gt;
&lt;input type="submit" name="submit" value="Submit!"&gt;
&lt;/form&gt;
&lt;?
endif;
?&gt;
&lt;/body&gt;
&lt;/html&gt;
</font>

Vous n' avez pas une idée ?
 
C'est normal.
Par défaut maintenant, pour des raisons de sécurité tu ne peux pas passer des variables de cette manière depuis un formulaire.

Il faudrait modifier ton script ainsi :

<font class="small">Code:</font><hr /><pre>
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Form Results&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h2&gt;Below are the results of your Form Submission&lt;/h2&gt;
&lt;?php

$first_name = $_GET['first_name'];
$last_name = $_GET['last_name'];
$adress = $_GET['adress'];
$city = $_GET['city'];
$state = $_GET['state'];
$zip = $_GET['zip'];
$home_phone = $_GET['home_phone'];

print("&lt;p&gt;First Name: &lt;b&gt;$first_name&lt;/b&gt;\n");
print("&lt;br&gt;Last Name: &lt;b&gt;$last_name&lt;/b&gt;\n");
print("&lt;br&gt;Address: &lt;b&gt;$address&lt;/b&gt;\n");
print("&lt;br&gt;City: &lt;b&gt;$city&lt;/b&gt;\n");
print("&lt;br&gt;State: &lt;b&gt;$state&lt;/b&gt;\n");
print("&lt;br&gt;Zip: &lt;b&gt;$zip&lt;/b&gt;\n");
print("&lt;br&gt;Home Phone: &lt;b&gt;$home_phone&lt;/b&gt;\n");
?&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre><hr />

Sinon tu peux aussi réactiver l'ancien fonctionnement en passant la variable register_globals à true dans le fichier php.ini, mais c'est déconseillé.
 
Merci, je vais faire les 2 comme ça je pourrais garder mes anciens scripts et mettre à jour les nouveaux
wink.gif
 
Spyro a dit:
Il y a une autre méthode pour une mise à jour rapide des anciens scripts c'est ajouter un simple extract($_GET); au début du script.
(Ça marche pareil avec $_POST bien sûr
wink.gif
)
Quand je pense que je me suis fait ch… à modifier tous mes scripts variable par variable en changeant de version de PHP…
crazy.gif