Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Undefined variable, problem ze zmienną przekazaną z formular
-plisek-
post
Post #1





Goście







witam,
moj problem moze wyda sie banalny, ale naprawde nie widze bledu i mam problem, mimo iż to same podstawy.

otoż, mam dwa pliki -strona.html i text.php, gdzie
zawartość strona.html - prosty formularz :
  1. <form method=get action="text.php">
  2. <input name="dana" type="text">
  3. <input type=submit>
  4. </form>
  5. </body>
  6. </html>
  7.  
  8. zawartosc text.php:
  9. <?php echo $dana; ?>
  10. </body>
  11. </html>

na pozor wszystko powinno działać, jednakprzy probie uruchomienia, tzn przesłania metodą get jakiejs danej (textu), wyskakuje to:

Notice: Undefined variable: dana in C:\Program Files\Apache Group\Apache2\htdocs\projects\text.php on line 3

powiedzcie, co jest nie tak??
pozdrawiam i dzieki za odp
Go to the top of the page
+Quote Post
strife
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


Witam,

To jest problem NOTICE, źle definiujesz zmienne, albo zmień sobie raportowanie błędów error_reporting" title="Zobacz w manualu php" target="_manual
  1. <?php
  2.  
  3. // ...
  4. error_reporting(E_ALL ^ E_NOTICE);
  5. // ...
  6.  
  7. ?>


Pozdrawiam!


--------------------
Go to the top of the page
+Quote Post
-plisek-
post
Post #3





Goście







dzieki za odpowiedz, jednak nic z tego nie rozumiem, bawie siephp dopiero od dzis winksmiley.jpg
czy coś jest nie tak w kodzie, czy chodzi tu o ustawienia php
pozdr
Go to the top of the page
+Quote Post
NuLL
post
Post #4





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

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


Oj scar - lenistwo tongue.gif
  1. <html>
  2. <body>
  3. <form method=get action="text.php">
  4. <input name="dana" type="text">
  5. <input type=submit>
  6. </form>
  7. </body>
  8. </html>
  9.  
  10. zawartosc text.php:
  11. <html>
  12. <body>
  13. <?php echo if(isset($_POST['dana'])) $_POST['dana']; ?>
  14. </body>
  15. </html>

EDIT: Kolega na dole ma rację tongue.gif


--------------------
Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
Go to the top of the page
+Quote Post
batman
post
Post #5





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




A mi się wydaje, że będzie tak:

  1. <html>
  2. <body>
  3. <form method="get" action="text.php">
  4. <input name="dana" type="text">
  5. <input type=submit>
  6. </form>
  7. </body>
  8. </html>
  9.  
  10. zawartosc text.php:
  11. <html>
  12. <body>
  13. <?php echo if(isset($_GET['dana'])) $_GET['dana']; ?>
  14. </body>
  15. </html>


Jeśli metoda GET to i zmienna $_GET, a jeśli metoda POST, to zmienna $_POST winksmiley.jpg


racja racja. kolega Legro ma rację. Drobna pomyłka z mojej strony, za co najmocniej przepraszam. echo nie w tym miejscu wstawione

Ten post edytował batman 28.08.2005, 17:59:39


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
-plisek-
post
Post #6





Goście







hmm.. niestety, przetestowane, ale nadal nie działa. po wpisaniu textu w formularz nie wyswietla go na stronie text.php Wniosek z tego, że zmienna nie została utworzona, albo jej nie widać. co w tej sytuacji?? czy winą moze być źle skonfigurowany php na serwerze??

a propo, ten przyklad, troche w okrojonej wersji pochodzi z książki helionu, "php4"

czy ktoś wie, w czym tkwi problem questionmark.gif

dzieki za dotychczasowe odp, i czekam na więcej ;D
pozdrawiam
Go to the top of the page
+Quote Post
Legro
post
Post #7





Grupa: Zarejestrowani
Postów: 233
Pomógł: 3
Dołączył: 18.07.2005

Ostrzeżenie: (40%)
XX---


ahh.. nie tak tongue.gif

tak:

  1. <html>
  2. <body>
  3. <form method="get" action="text.php">
  4. <input name="dana" type="text">
  5. <input type=submit>
  6. </form>
  7. </body>
  8. </html>
  9.  
  10. zawartosc text.php:
  11. <html>
  12. <body>
  13. <?php  if(isset($_GET['dana'])) { echo $_GET['dana']; } ?>
  14. </body>
  15. </html>


--------------------
nospor - jestem z Wami !!!
Go to the top of the page
+Quote Post
plisek
post
Post #8





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 28.08.2005

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


dziekuje, tym razem zadziałało smile.gif
czemu jednak trzeba to pisać w taki sposb, sprwdzając czy dana zmienna najpierw istnieje, a dopiero pozniej wyswietlić jej wartość questionmark.gif

troche mnie to dziwi, bo kurcze staram sie postępowac zgodnie z trescią zadań w książce, a niektore wogole nie działają, mimo iż uzywam tej samej wersji apache'a i php

no ale coz takie życie, laugh.gif

jeszcze raz dziekuje


--------------------
ThE EnD oF ThE InTErnEt !
pasy zabezpieczające
Go to the top of the page
+Quote Post
Legro
post
Post #9





Grupa: Zarejestrowani
Postów: 233
Pomógł: 3
Dołączył: 18.07.2005

Ostrzeżenie: (40%)
XX---


Cytat
czemu jednak trzeba to pisać w taki sposb, sprwdzając czy dana zmienna najpierw istnieje, a dopiero pozniej wyswietlić jej wartość questionmark.gif


nie musisz ale dobrze jest sprawdzic bo jak nie bedzie instniec to wiesz cool.gif


--------------------
nospor - jestem z Wami !!!
Go to the top of the page
+Quote Post
Endzio
post
Post #10





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 10.09.2007

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


Temat trochę stary, ale mam nadzieje, że ktoś odpowie...
Tylko trzy pytania, ale jakże ważne biggrin.gif

1) Jaki skutki uboczne lub nieporządane działania może mieć sytuacja, w której nie użyjemy w php kodu <?php if(isset($_GET['dana'])) { echo $_GET['dana']; } ?> tylko na "chama" będziemy starali się wyciągnąc GET?
2) Zauważyłem, że gdy wstawimy przy GET znaczek małpki to Notatka się nie pojawia ( @$_GET['cos'] ), czy to dobry sposób?
3) Jaką mamy pewność, że gdy wstawimy na początku kodu php error_reporting(E_ALL ^ E_NOTICE); to na innych serwerach nam nie wywali błędów? Czy to również ignoruje .htaccess oraz php.ini?

Ten post edytował Endzio 10.09.2007, 05:22:01
Go to the top of the page
+Quote Post
drPayton
post
Post #11





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


1. Skutki uboczne - NOTICE php, taki jak podany w pierwszym poście, i brak dostępu do zmiennej w dalszej części skryptu (jeśli jest sprawdzenie CZY istnieje, to można też napisać co jeśli NIE istnieje)
2. W tym wszystkim chodzi raczej o to, by dać alternatywe. Jeśli istnieje to równa się tyle, a jeśli nie istnieje to jakaś wartość domyślna np, a nie o błędy
3. Właśnie dlatego, że wstawiamy to w kodzie ma to pierszeństwo nad ustawieniami serwera i htaccess. Nie znajdziesz (chyba) serwera profesjonalnego, gdzie (czy to w ogóle możliwe?) kompletnie niedostępne byłoby wyświetlanie błędów.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 02:30