Strona 1 z 1

[php] przesyłanie zmiennych z formularza

: ndz kwie 25, 2004 2:57 pm
autor: MarYOUsh
Witam wszystkich!
Jestem poczatkujacy jestli chodzi o php i mam takie pytanie - moze mi ktos pomoze, bo nie wiem co robie zle.
Zainstalowalem php 4.3.6 i serwer www alacer - apache mi sie dopiero sciaga (tzn mam 2.0.49 ale cos mi na nim php nie dziala :( wiec sciagal 1.3.9 czy jakos tak)
No ale niby na tym alacer jak wlacze modol php to po phpinfo() wszystko sie wyswietla

No wiec zrobilem sobie taki pliczek index.html

Kod: Zaznacz cały

<html>
<head>
</head>
<body>

<FORM ACTION=skrypt.php METHOD=POST>
<INPUT TYPE=TEXT NAME=tekst>
</FORM>

</body>
</html>
: skrypt.php

[php]<?php
echo($tekst);
?>[/php]

Nic wiecej - moje pytanie - czemu nei wysiwetla mis ie ten tekst? Po prostu otwiera sie czysta www, jak probowalem innych zmiennych z formularza, tzn bardziej rozbudowanego to to samo :(
znalazlem tu gdzies na forum jeszcze taki jeden skrypt wiec zrobilem drugie pliki:
index2.html

Kod: Zaznacz cały

<html>
<head>
</head>
<body>

<FORM ACTION=skrypt2.php METHOD=POST>
<INPUT TYPE=TEXT NAME=tekst>
</FORM>

</body>
</html>
skrypt2.php

[php]<?php
echo "$HTTP_POST_VARS[name]";
echo "<BR>";
echo "$HTTP_POST_VARS[second_name]";
?>[/php]

i to tez nie dziala :-////

Dziala mi natomiast taki formularz do logowanie
inde3.html

Kod: Zaznacz cały

<html>
<head>
</head>
<body>

<form action="login.php" method="post" title="Logowanie"> 
Podaj hasło: <input type="password" name="password"> 
<input type="submit" value="Zaloguj mnie"> 
</form>  

</body>
</html>
login.php

[php]<?php
if ($_POST['password']=='hahaha') {
echo 'haslo ok, zostales zalogowany';
}
else {
echo 'Zle haslo, sprobuj jeszcze raz';
}
?>[/php]

Z gory dziekuje za pomoc

Edit Krzasz: Używaj BBCode! Następnym razem temat pójdzie do kosza :)

Re: [php] przesyłanie zmiennych z formularza

: ndz kwie 25, 2004 5:40 pm
autor: Grzegorz Winiarski
W pierwszym przypadku masz
[php]$_POST[name][/php]
zamiast
[php]$_POST['name'][/php]

P.S. na przyszlosc jezeli uzywasz kodu php to korzystaj z BBCODE.

Re: [php] przesyłanie zmiennych z formularza

: ndz kwie 25, 2004 9:15 pm
autor: MarYOUsh
Oki doki, dzieki, kapuje juz co zle poza tym tam troche namieszalem i z tym
[php]<?php
$_post[imie]
?>[/php]
wszystko dobrze dziala.
Mam tylko jescze pytane, co zrobic aby zwykla metoda post/get dziala po wykonaniu, tzn no jak mam formularz i jest w nim tylko jedno pole 'tekst' i action=skrypt.php a w skrypcie tym jest:
[php]
<?
echo($tekst);
?>
[/php]
I to nei dziala - czytalem gdzies na jakims innym poscie cos o register globals ale wogole nei wiem co to i gdzie to jest :(

Re: [php] przesyłanie zmiennych z formularza

: pn kwie 26, 2004 9:52 am
autor: Grzegorz Winiarski
Register globals włącza i wyłącza sie w pliku php.ini, musisz znaleźć linie register_globals i w zależności od swoich preferencji ustawić ON lub OFF

Re: [php] przesyłanie zmiennych z formularza

: pn kwie 26, 2004 4:54 pm
autor: wixor
Register globals włącza i wyłącza sie w pliku php.ini, musisz znaleźć linie register_globals i w zależności od swoich preferencji ustawić ON lub OFF
, a działa to następująco: jeżeli wysyłasz do formularza zmienną "variable" (może być metoda POST lub GET, wszystko jedno) lub zostawiasz klientowi ciasteczko "cooker" lub otrzymujesz z forulmarza plik "zbior" (co do ostatniego nie jestem pewien, ale raczej tak) to masz dostęp do tych danych w następujący sposób:
[php]<?php
$_POST["variable"] /* lub, w zależności od metody */ $_GET["variable"] /* oraz */ $_REQUEST["variable"]
$_COOKIES["cooker"] /* oraz */ $_REQUEST["cooker"]
$_FILES["zbior"] /* oraz (chyba) */ $_REQUEST["zbior"]
?>[/php]
Jeżeli włączysz register_globals, będą również dostępne następujące zmienne:
[php]<?php
$variable /*NIEZALEŻNIE od metody - jeżeli wysyłasz na adres script.php?variable =a zmienną variable o wartości b to nie masz żadnej gwarancji, że w automatycznej zmiennej $variable będzie a lub b - pierwszy minus register_globals */
$cooker /* jeżeli używasz zmiennej $cooker w swoim programie to zostanie ona na starcie zainicjowana wartością zmiennej automatycznej (w tym wypadku - treścią ciasta). A co się stanie, jeżeli ty nie zainicjujesz zmiennej sam? na przykład dla pętli for(;$i<10;$i++) nie ma instrukcji inicjującej. Początkowa wartość zmiennej $i będzie 0/""/null albo... TO CO CI PRZEKAŻE UŻYTKOWNIK!! a on może być złośliwy... - pozostałe znane mi minusy register_globals. */
$zbior /* nie mam pewności... */
?>[/php]
No, to tyle wykładu. Polecam lekturę manuala.

Re: [php] przesyłanie zmiennych z formularza

: wt kwie 27, 2004 9:27 pm
autor: MarYOUsh
Dzieki wielkie za pomoc, przydala sie, teraz juz rozumiem, widze ze trzeba czytac manuala a nie jakies stare kursy :) Ale znalazlem tez nowsze kursy gdzie jest to tez wlasnie zaznaczone na ten temat, w kazdym badz raziedziekuje za pomoc!