PDA

Επιστροφή στο Forum : Κατι απλό (?) με PHP και HTML



bill2003
10-05-05, 16:07
Έχουμε το εξής html αρχείο:


<html>
<title>S.t.web Ver:0.0.0.0.1</title>
</head>
<body>
<p align="center"><font face="Tahoma"><b>URL</b></font></p>
<FORM ACTION="3.php" METHOD=POST>
<p align="center"><font face="Tahoma"><input type="text" name="input" size="66"></font></p>
<p align="center"><font face="Tahoma"><input type="submit" value="GO" name="B1"></font></p>
</form>
</body>
</html>


και το αντίστοιχο 3.php στον ίδιο φακελο στα htdocs του apache

3.php


<?
print $input;
?>

Κανονικά ότι πληκρολογώ στο form θα επερπε να βγαινει με το 3.php στην επόμενη σελίδα. Αυτό που φαντάζομαι ότι μαλλον φταιει είναι κάτι στο httpd.conf του apache που δεν το αφήνει να κανει post τα δεδομένα από το form. Την εγκατάσταση του όλου πράγματος (Apache/PHP/MySQL) την έκανα με το www.easyphp.org.

Τι πρέπει να αλλάξω ώστε να λειτουργεί? Η λύση που αρχισα να υλοποιώ: απεγκατάσταση της γαλικής @@ (easyphp) και εγκατάσταση PHP και Apache χωριστά... Από περιέργεια όμως ξέρει κανείς τι μπορεί να φταίει???

thama
10-05-05, 16:33
To σωστό που πρέπει να βάλεις στο 3.php είναι


print $_REQUEST['input'];

Το $input για να μπορείς να το δείς πρέπει να κανεις μια μικρή αλλαγή στο php.ini (register globals, αν θυμάμαι καλά)

GoofyX
10-05-05, 19:53
To σωστό που πρέπει να βάλεις στο 3.php είναι


print $_REQUEST['input'];

Το $input για να μπορείς να το δείς πρέπει να κανεις μια μικρή αλλαγή στο php.ini (register globals, αν θυμάμαι καλά)Το
$_REQUEST['input'];πρέπει να γίνει
$_POST['input'];γιατί η φόρμα στέλνεται με POST μέθοδο.

yiapap
10-05-05, 20:41
μεταφέρθηκε στο Προγραμματισμός by yiapap 20.40 10/5/05

thama
11-05-05, 08:50
Έχω την εντύπωση ότι ο πίνακας $_REQUEST περιλαμβάνει ότι περιλαμβάνει ο $_GET και o $_POST μαζί. Αν αργότερα θέλεις να αλλάξεις τον τρόπο αποστολής των παραμέτρων, δεν θα χρειαστεί να αλλάξεις και τον PHP κώδικα...

bill2003
11-05-05, 13:27
Αυτο με το register globals εψαχνα αλλά σε λάθος αρχείο ...

Σιγουρα πάντως η χρήση των $_GET και $_POST είναι καλύτερη ώστε τα αρχεία να τρέχουν σε κάθε server.

Tnx :)

lazar
11-05-05, 14:37
Σιγουρα πάντως η χρήση των $_GET και $_POST είναι καλύτερη ώστε τα αρχεία να τρέχουν σε κάθε server.

Διαφορετικά, μπορείς να συμπεριλάβεις στο root directory των αρχείων σου ένα αρχείο .htaccess που να περιέχει την γραμμή

php_flag register_globals on

Έτσι θα είσαι σίγουρος ότι θα παίζει σε κάθε server, φτάνει να επιτρέπεται η χρήση του αρχείου από το httpd.conf

bill2003
11-05-05, 15:22
Απλά για να κλείσουμε ωραία το topic

"Global variables are no longer registered for input data (POST, GET, cookies, environment and other server variables). Instead of using $foo, you must use you can use $_REQUEST["foo"] (includes any variable that arrives through the request, namely, POST, GET and cookie variables), or use one of the specific $_GET["foo"], $_POST["foo"], $_COOKIE["foo"] or $_FILES["foo"], depending on where the input originates. Also, you can look at the import_request_variables() function. Note that register_globals is going to be depracated (i.e., turned off by default) in the next version of PHP, because it often leads to security bugs. Read http://php.net/manual/en/security.registerglobals.php for further information."

@ ADSLgr.com All rights reserved.