Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][HTML] zmienne z formularza
Forum PHP.pl > Forum > Przedszkole
Raven82
Witam

Juz nie wiem co jest nie tak, przeczytalem chyba juz cale forum,
ale nie potkalem sie z takim dokladnie problemem

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html><head>
  3. <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2">
  4. <meta http-equiv="Creation-date" content="2006-11-25T14:20:43Z">
  5. <meta http-equiv="Content-Language" content="pl">
  6. <meta http-equiv="Pragma" content="no-cache">
  7. <meta name="Author" content="R">
  8. </head>
  9. <body bgcolor="#000053" text="#FFFF00" link="#808000"><center><br>
  10.  
  11. <form action="index.php?s=1" method="post" enctype="text/plain" target="_self" accept-charset="iso-8859-2"><br>
  12. <textarea name="abcd" cols="60" rows="6" wrap="virtual"></textarea><br>
  13. <input type="submit" name="ok" value="Dalej" align="middle">
  14. <input type="reset" name="no" value="Skasuj">
  15. </form><br><br>
  16. <?
  17. if ($s==1)
  18. {
  19. print "1a ".$_REQUEST["abcd"]."<br>";
  20. print "1b ".$_REQUEST['abcd']."<br>";
  21. print "2 ".$abcd."<br>";
  22. print "3a ".$_post["abcd"]."<br>";
  23. print "3b ".$_post['abcd']."<br>";
  24. print "4a ".$_get["abcd"]."<br>";
  25. print "4b ".$_get['abcd']."<br>";
  26. print "5a ".$http_post_vars["abcd"]."<br>";
  27. print "5b ".$http_post_vars['abcd']."<br>";
  28. print "6a ".$http_get_vars["abcd"]."<br>";
  29. print "6b ".$http_get_vars['abcd']."<br>";
  30. print "7a ".$_session["abcd"]."<br>";
  31. print "7b ".$_session['abcd']."<br>";
  32. }
  33. ?>
  34. </body>
  35. </html>



Przesyłanie zmiennych nie działa ani na moim localhost'cie ani na platnym serwrze,
juz nie wiem co jest nie tak, czegos chyba nie dopisalem ;-)

Natomiast chyba probowalem kazdego mozliwego sposobu odwolania sie do zmiennej,
zeby bylo zabawniej dziala zmienna $s bez problemu.

Czy ma ktoś jakis pomysl ???

Dane serwera komercyjnego:
Serwer Klatka.pl
Wersja Apache 1.3.37 (Unix)
Wersja php 4.4.4
siemakuba
Czy wszystkie z podanych przez ciebie przypadków nie działają?
Powiem ci, które na pewno nie działają: $_post, $http_post_vars, $http_get_vars, $_session. Nazwy tych zmiennych piszemy wielkimi literami. Dalej, nie ma zupełnie znaczenia w twoim przypadku czy klucze w tablicach podane zostaną w apostrofach czy w cudzysłowach. Dalej, to co masz w $_REQUEST zależy jeszcze od tego, jak masz ustawioną kolejność zmiennych (variables_order), bo może być tak, że dane POST są nadpisywane przez coś innego.

Rada: zamiast wielkich kombinacji, zrób po prostu
  1. <?php
  2. var_dump($_POST);
  3. ?>
i zobacz co będziesz miał wyświetlone po przesłaniu formularza.

pozdr.
JaRoPHP
Po pierwsze: register_globals, a nie register_global (choć to może zwykła literówka).

Po drugie: $_POST['zmienna'], a nie $_post['zmienna'] - wielkość liter ma znaczenie.

PS: Błąd ortograficzny w temacie to już chyba przesada (używam, a nie urzywam)! (EDIT)
Raven82
poprawilem zanczniki i teraz czesc php wyglada tak:

  1. <?
  2.  
  3. if ($s==1){
  4. print "1a ".$_REQUEST["abcd"]."<br>";
  5. print "1b ".$_REQUEST['abcd']."<br>";
  6. print "2 ".$abcd."<br>";
  7. print "3a ".$_POST["abcd"]."<br>";
  8. print "3b ".$_POST['abcd']."<br>";
  9. print "4a ".$_GET["abcd"]."<br>";
  10. print "4b ".$_GET['abcd']."<br>";
  11. print "5a ".$HTTP_POST_VARS["abcd"]."<br>";
  12. print "5b ".$HTTP_POST_VARS['abcd']."<br>";
  13. print "6a ".$HTTP_GET_VARS["abcd"]."<br>";
  14. print "6b ".$HTTP_GET_VARS['abcd']."<br>";
  15. print "7a ".$_SESSION['abcd']."<br>";
  16. print "7b ".$_SESSION['abcd']."<br>";
  17. }
  18. ?>


natomiast nadal zaden ze sposobow nie dziala


Cytat
var_dump($_POST);

wyrzuca mi
array(0) { }
batman
Wywal ze znacznika <form>:

enctype="text/plain"

oraz zamiast
  1. <?php
  2. if($s==1)
  3. ?>
napisz
  1. <?php
  2. if($_GET['s']==1)
  3. ?>


Poczytaj o parametrach znacznika <form>, a znajdziesz powód "nie działania" winksmiley.jpg
Raven82
Dziekuje bardzo za pomoc teraz dziala.

Natomiast warunek w formie:
Cytat
  1. <?
  2. phpif($s==1)
  3. ?>


tez dziala i zasadniczo dzialal od samego poczatku, ale rozumiem chyba o co chodzi,
bezpiczniej i baardziej uniwersalnie bedzie z $_GET['s']

Jeszcze raz dzieki batman


.

Dziekuje bardzo za pomoc teraz dziala.

Natomiast warunek w formie:
Cytat
  1. <?
  2. if($s==1)
  3. ?>


tez dziala i zasadniczo dzialal od samego poczatku, ale rozumiem chyba o co chodzi,
bezpiczniej i bardziej uniwersalnie bedzie z $_GET['s']

Jeszcze raz dzieki batman


.
batman
Problemem było to, że w nagłówkach wysyłasz text/html, a w formularzu text/plain. Następnym razem sprawdź wszystkie dane.

Taki mały OT winksmiley.jpg
Całe studia miałem zajęcia z pewnym wykładowcą. Przez cały ten czas powtarzał: "Zanim się zabierzesz za rozkręcanie pudełka, które nie działa, sprawdź, czy jest podłączone do prądu" winksmiley.jpg Mniej więcej o to samo chodziło w tym przypadku winksmiley.jpg
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.