Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Prosty błąd, PHP nie czyta POST
kasjer1981
post
Post #1





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

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


Witam wszystkich.
Moja przygoda z php zaczeła się wczoraj więc pytanie może należy do lamerskich ale nie wiem co robić. Przy obsłudze formularzy (i nie tylko) wyskakuje mi błąd o treści:

Fatal error: Call to undefined function: array_key_exists() in e:\foxserv\www\x\pass.php on line 15

to samo jest z _POST i _GET. Wydaje mi się moim skromnym zdaniem że interpreter nie ma jakieś biblioteki lub ona nie jest zarejestrowana... ale nie wiem.
Urzywam php 4.0.5

Prosze o szybką pomoc i zgóry dziękuje

Cały skryp wygląda tak:
//* plik z formularzem
<form method="POST" action="pass.php">
Jak masz na imię?<br>
<input name="imie">
<input type="SUBMIT" value="Uruchom">
</form>

//* plik pass.php<?

if (array_key_exists("imie", $_POST))

{

$a = $_POST["imie"];

if (strlen($a)>0) print "Witaj, $a";

else print " nie przedstawiłeś się (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) ";

}

else

die ("Brak argumentu \"imie\" w wywołaniu skryptu!");

?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
Kuziu
post
Post #2





Grupa: Zarejestrowani
Postów: 743
Pomógł: 0
Dołączył: 11.11.2003
Skąd: Toruń

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


array_key_exists
(php 4 >= 4.1.0, php 5)


Może poprostu użyj isset
Go to the top of the page
+Quote Post
kasjer1981
post
Post #3





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

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


array_key_exists
(php 4 >= 4.1.0, php 5)


Może poprostu użyj isset


prosiłbym o więcej szczegółów, bo nie bardzo rozumiem. Jestem naprawde b. początkujący i jak na razie mam tylko pobierzną wiedze na ten temat
Go to the top of the page
+Quote Post
Ociu
post
Post #4





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




  1. <?php
  2. # zamiast:
  3. if (array_key_exists(&#092;"imie\", $_POST))
  4.  
  5. # daj
  6.  
  7. if(isset($_POST['imie']))
  8. ?>
Go to the top of the page
+Quote Post
kasjer1981
post
Post #5





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

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


Super!! dzięki wszystko działa. Teraz nawet nie czepia się teraz $_POST i $_GET ale problem jest kolejny bo nie przesyła żadnych danych (tzn. imie) poprzez wyżej wymienione funkcjie. Tablice $_POST i $_GET są puste. Natomiast gdy ich nie używam (znaczy się odrazu podstawiam zmienną $imie do kodu) to wszystko działa.
Jakieś pomysły odnośnie przyczyny ?
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




a moglbys jeszcze raz pokazac nowy kod. tylko tym razem uzyj bbcode
Go to the top of the page
+Quote Post
kasjer1981
post
Post #7





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

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


  1. <?
  2. if (isset($_POST['imie']))
  3.  
  4. {
  5.  
  6. $a = $_POST[&#092;"imie\"];
  7. if (strlen($a)>0) print &#092;"Witaj, $a\";
  8.  
  9. else print &#092;" nie przedstawiłeś się \";
  10.  
  11. }
  12.  
  13. else
  14. die (&#092;"Brak argumentu \"imie\" w wywołaniu skryptu!\");
  15. ?>


Tutaj tablica $_POST jest pusta
A jeśli zrobie tak po prostu :
  1. ]<?
  2.  
  3. $a = $imie
  4.  
  5. print &#092;"Witaj, $a\";
  6.  
  7.  
  8. ?>

To Wszystko działa (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
rabit1111
post
Post #8





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 28.04.2005

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


Witam
Tak dodam, że zawsze jak chcesz użyć $_POST czy $_GET to należy najpierw sprawdzić czy ona jest zdefiniowana. I do tego służy isset();.
Go to the top of the page
+Quote Post
kasjer1981
post
Post #9





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

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


Mam pytanie do wszystkich. Czy to że mój interpreter nie rozumie wszystkich funkcji (teraz dodatkowo jeszcze nie rozumie "fgets()" ) To może być wina wersji php (4.0.5) jaką mam zainstalowaną ?
Go to the top of the page
+Quote Post
rabit1111
post
Post #10





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 28.04.2005

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


A czemu uważasz że nie rozumie, może ty masz coś źle w skrypcie.
Go to the top of the page
+Quote Post
revyag
post
Post #11





Grupa: Przyjaciele php.pl
Postów: 2 258
Pomógł: 16
Dołączył: 21.09.2004
Skąd: Kielce

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


$_POST zostało wprowadzone w php 4.1.0, więc jeśli masz wcześniejszą wersję źródło problemu już znasz.
Go to the top of the page
+Quote Post
kasjer1981
post
Post #12





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

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


No dzięki, teraz jak już wiem że to wina wersji to pewnie nie jeden mój problem zniknie. Dzięki wielkie wszystki.

P.S. Do rabit1111 . Pisząc "interpreter" miałem na myśli program wykonujący skrypty (tzn. php) (IMG:http://forum.php.pl/style_emoticons/default/laugh.gif)
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: 23.08.2025 - 07:05