Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]Problem z podstawianiem zmiennych do skryptu php
gringo001
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 22.09.2006

Ostrzeżenie: (0%)
-----


W ramach nauki php utworzyłem dwa pliki:
-prosty formularz w HTMLu o nazwie formularz1.html:

<html><body>
<form action=witaj.php>
Podaj swoje imie: <input type=text name="imie" value="nieznane"><br>
Podaj swoj wiek: <input type=text name="wiek" value="nieznany"><br>
<input type=submit value="Kliknij aby uruchomic skrypt">
</form>
</body></html>

-oraz plik witaj.php do którego powinny byc podstawiane zmienne "imie" oraz "wiek" z formularza:

<html><body>
<?
echo "Witaj $imie!<br> Masz $wiek lat."
?>
</body></html>

Problem polega na tym, że po odpaleniu "formularz.html", wprowadzeniu danych i wciśnieciu przycisku "Kliknij aby uruchomic skrypt" odpala się witaj.php ale nie są do niego podstawiane zmienne. Czyli wygląda to tak:

Witaj !
Masz lat.

Przy czym adres w polu adresowym przeglądarki, wygenerowany przez formularz1.html wygląda poprawnie:
http://localhost/witaj.php?imie=luk&wiek=23

Nie mogę pojąc co jest przyczyną takiego stanu rzeczy tymbardziej że przyklad wziąłem z książki.

Proszę pomórzcie, bo jak tak dalej pójdzie to chyba kompa przez okno wyrzucę (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował gringo001 22.09.2006, 18:22:30
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
skowron-line
post
Post #2





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

Ostrzeżenie: (0%)
-----


  1. <?php
  2. $witaj
  3. ?>

zamien na
  1. <?php
  2. $_POST['witaj']
  3. ?>


czyli w twoim przypadku bedzie

albo
  1. <?php
  2. echo"witaj $_POST[imie]";
  3. ?>


albo
  1. <?php
  2. echo'witaj '.$_POST['imie'].'masz lat....';
  3. ?>


edit
  1. <form action=witaj.php>
  2. Podaj swoje imie: <input type=text name="imie" value="nieznane"><br>
  3. Podaj swoj wiek: <input type=text name="wiek" value="nieznany"><br>
  4. <input type=submit value="Kliknij aby uruchomic skrypt">
  5. </form>
  6. </body></html>


w
  1. form action="witaj.php"
brakuje metody wysylania danych
czyli ma by
  1. form action="witaj.php" method="post"
lub method =get

Ten post edytował skowron-line 22.09.2006, 17:28:05
Go to the top of the page
+Quote Post
gringo001
post
Post #3





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 22.09.2006

Ostrzeżenie: (0%)
-----


Wielkie dzięki! Bardzo mi pomogłeś. Nie mogę tylko skumac czemu w ksiązce są podane błędne listingi.
Go to the top of the page
+Quote Post
mike
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


Nie sa błędne tylko przestarzałe.

To czy masz dostęp do zmiennych bezpośrednio czy przez tablice superglobalne $_POST, $_GET, ... zalezy od zmienej konfiguracyjnej register_globals.

P.S.
Proszę poprawić temat wątku.
Nie jest zgodny z zasadami pisania na forum Przedszkole
Go to the top of the page
+Quote Post
gringo001
post
Post #5





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 22.09.2006

Ostrzeżenie: (0%)
-----


Faktycznie zmieniłem register_globals na "On" i działają moje stare skrypty (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) .

Jestem jednak wkurzony, ponieważ w książce, z której korzystam "php Stwórz własną stronę internetową" Dmitry Koterova zostaly opisane krok po kroku etapy instalacji i konfiguracji servera apache, php i mysqla i nigdzie nie wspomniano, że należy ustawic register_globals na On. Możliwe, że w wersji PHP5.0.1, na której opiera się autor książki plik php.ini domyślnie mial ustawione register_globals=On.

Ten post edytował gringo001 22.09.2006, 19:06:49
Go to the top of the page
+Quote Post
mike
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


Cytat(gringo001 @ 22.09.2006, 20:05:28 ) *
Faktycznie zmieniłem register_globals na "On" i działają moje stare skrypty (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

To teraz przestaw z powrotem na Off i możesz pisać skrypty (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

register_globals = On to stara i niebezpieczna metoda.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 12:51