Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]nie przekazuje zmiennych do skryptu
Forum PHP.pl > Forum > Przedszkole
altar
Witam,

Jestem nowy, a to jest moj pierwszy post wiec najpierw chce sie przywitac, witam wszystkich smile.gif

Mam problem z tablicami przechowujacymi wartosci zmiennych $_GET i $_POST, nie wiem dlaczego nie dziala mi, tzn. nie przekazuje zmiennych do skryptu taki kod:

<html>
...
Zmienna: <form action="odbierz.php" method=post>
               <input type=text name=zmienna>
               <input type=submit value=wyslij>
              </form>
...
</html>

lub nie odczytuje tych zmiennych ten kod:

<?php

$zmienna=$_POST['zmienna'];

echo $zmienna;

?>

Dzieki za wszelkie sugestie.

Pozdrawiam, Robert
ayeo
Witam!
Jeżeli wklejsz próbkę kodu używaj stosownych znaczników BBcode.
Co do Twojego pytania to próbuj tak
Kod
<form action="odbierz.php" method="post">
<input type="text" name="zmienna">
<input type="submit" value="wyslij">
</form>
altar
Niestety nie pomoglo, dostaje taki blad:

PHP Notice: Undefined index: zmienna in C:\***\test\odbierz.php on line 3
toch18
a czy kod formularza i kod php jest w odbierz.php??
altar
nie nie, kod formularza jest w pliku formularz.html a kod odbierajacy wartosc zmiennej jest w pliku odbierz.php
Danone
Której wersji php używasz?

Masz ustawione w php.ini register_globals na off?


To powinno działać, a spróbuj tak:


  1. <?php
  2. if(isset($_POST['wyslij']))
  3. {
  4. echo $_POST['zmienna'];
  5. }else{
  6. echo '
  7. <form action="" method="post">
  8.  <input type="text" name="zmienna">
  9.  <input type="submit" value="wyslij" name="wyslij">
  10. </form>';
  11.  
  12. }
  13. ?>


Wrzuć sobie to do pliku odbierz.php
altar
uzywam wersji 5, register_globals opcjonalnie mam na on (nie dziala), gdy zmienilem na off nadal nie dziala. pojecia juz nie mam o co chodzi.
Danone
A wrzuciłeś przykład jaki tobie podałem do odbierz.php??
altar
tak wrzucilem, wyswietla formularz, czyli nie dziala
Danone
To dobrze, że wyświetla formularz smile.gif wpisz sobie w pole tekstowe jakiś tekst i naciśnij przycisk powinno się pojawić to co wpisałeś, robiłeś tak?, bo wydaje mi się, że niestety nie...
sniezny_wilk
Pokaż cały kod html, oraz php jaki używasz do tego.
altar
wpisywalem tak jak mowisz, ale wciaz nie dziala.

Poczekaj, zaczne od poczatku. Chodzi mi o to zeby miec 2 pliki. 1 z nich to formularz.html
Kod
<html><body>
<form action="odbierz.php" method="post">
 <input type="text" name="zmienna">
 <input type="submit" value="wyslij">
</form><BR><BR></body></html>


jest to prosta forma ktora przyjmuje od uzytkownika liczbe i ma ja wyslac do drugiego pliku odbierz.php
Kod
<?php
$zmienna=$_POST['zmienna'];
echo $zmienna;
?>

a ten plik ma ja wyswietlic na ekranie.
Problem w tym ze nie wyswietla, w roznych modyfikacjach albo dostaje komunikat ze 'zmienna' nie jest zdefiniowana, albo zwyczajnie nic sie nie wyswietla. probowalem wyslac to do $_GET i $_POST, nie dziala w obu przypadkach.
PHP jakie uzywam to najnowsze 5.2.6
O co moze chodzic?
Danone
Do pliku odbierz.php

wrzuć tylko:

  1. <?php
  2. echo $_POST['zmienna'];
  3. ?>
altar
Cytat(Danone @ 10.05.2008, 17:14:39 ) *
Do pliku odbierz.php

wrzuć tylko:

  1. <?php
  2. echo $_POST['zmienna'];
  3. ?>


tak tez probowalem, nie dziala, dostaje komunikat: PHP Notice: Undefined index: zmienna in C:\Documents ....
Danone
A zostawiłeś register_globals na off??
phpion
Również mam PHP 5.2.6 i poniższy kod:
  1. <?php
  2. echo '<pre>'.print_r($_POST, true).'</pre>';
  3. ?>
  4. <form action="" method="post">
  5. <input type="text" name="pole" />
  6. <input type="submit" value="Wyslij" />
  7. </form>

działa bez problemu. Użyj tego kodu (np. jako test.php) i zobacz czy po wysłaniu formularza z wpisanymi danymi uzyskasz je na ekranie. U mnie wyświetla poprawnie.

PS: Temat: PHP 525 nie przechodzi POST tutaj ludki mają ten sam problem (niestety nierozwiązany) więc może coś w tym jest...
altar
Cytat(Danone @ 10.05.2008, 17:30:44 ) *
A zostawiłeś register_globals na off??


probowalem i on i off, nie dziala w obu przypadkach
sniezny_wilk
Na jakim serwerze pracujesz ?
altar
[quote name='phpion' date='10.05.2008, 17:36:47 ' post='469932']
Również mam PHP 5.2.6 i poniższy kod:
  1. <?php
  2. echo ''.print_r($_POST, true).'';
  3. ?>
  4.  
  5.     
  6.     

działa bez problemu. Użyj tego kodu (np. jako test.php) i zobacz czy po wysłaniu formularza z wpisanymi danymi uzyskasz je na ekranie. U mnie wyświetla poprawnie.

u mnie nie dziala sad.gif

[quote name='sniezny_wilk' post='469938' date='10.05.2008, 17:47:13 ']Na jakim serwerze pracujesz ?[/quote]

nie mam zadnego serwera, uzywam php expert editor, a tam jest mozliwosc podgladu w wbudowanej przegladarce.
dopiero zaczynam uczyc sie programowac, wiec jesli to nie dziala bo nie mam serwera www(apache?) to sorki za ten watek smile.gif
Danone
To teraz zabłysnąłeś...... smile.gif

ściągnij sobie to np jeśli chcesz się bawić w php

http://www.appservnetwork.com/
ayeo
Tu nie chodzi tylko o to, że nie masz Apache! Ty nie nie masz parsera PHP!

Zastanawiam się tylko gdzie Ty wyłączałeś te register_globals smile.gif i skąd te komunikaty były o niezdefiniowanej zmiennej smile.gif


// Temat zamykam
Cysiaczek
Albo odwrotnie - parser jest, ale nie ma serwera, więc nie wysyła danych postem snitch.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.