• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Przesyłanie danych w formularzu: Undefined index

Object Storage Arubacloud
0 głosów
439 wizyt
pytanie zadane 13 maja 2017 w PHP przez Prime_Bull Obywatel (1,820 p.)

Witam. Mam problem z przesyłaniem danych w formularzu metodą POST. Posiadam dwie strony: index.php i index2.php. Na index.php jest forumlarz, który wysyła dane metodą POST do strony index2.php. Wszystko do tego momentu jest w porządku, ale gdy wysyłam inne dane z formularza na stronie index2.php. Wyskakuje błąd: Undefined index: login. Podaje cały kod:

index.php

<!DOCTYPE html>

<html>
	<head>
		<meta charset="UTF-8">
		<title>Test</title>
	</head>
	<body>
		<form action="index2.php" method="post">
			<input type="text" name="login">
			<input type="submit" name="wyslij" value="Wyślij">
		</form>
	</body>
</html>

index2.php

<?php
echo $_POST["login"];
?>

<!DOCTYPE html>

<html>
	<head>
		<meta charset="UTF-8">
		<title>Test2</title>
	</head>
	<body>
		<form method="post">
			<input type="text" name="login2">
			<input type="submit" name="wyslij2" value="Wyślij">
		</form>
	</body>
</html>

 

3 odpowiedzi

+2 głosów
odpowiedź 13 maja 2017 przez Assasz Nałogowiec (30,460 p.)
Wyskakuje Ci taki błąd, ponieważ w chwili wysyłania formularza na stronie index2 wysyłasz zawartość inputa o nazwie login2. Mimo to nadal próbujesz wyświetlić zawartość zmiennej login, która nie istnieje w tym momencie,.
komentarz 13 maja 2017 przez Prime_Bull Obywatel (1,820 p.)
To czyli sesje rozwiążą problem?
komentarz 13 maja 2017 przez Assasz Nałogowiec (30,460 p.)

Nie, sesje nie służą do tego. Nie wiem, co chcesz konkretnie osiągnąć, ale żeby po prostu zadziałał ci ten kod, to dodaj ifa sprawdzającego, czy dana zmienna jest ustawiona, a potem ją po prostu wyświetl, czyli np.:

if(isset($_POST['login'])) echo $_POST['login'];
if(isset($_POST['login2'])) echo $_POST['login2'];

 

komentarz 13 maja 2017 przez pablop76 VIP (123,180 p.)
Odebrałeś wartość  z inputa name="login" a potem masz input name="login2" to zapisze sie w tablicy o indeksie login2 czyli $_POST['login2']
komentarz 13 maja 2017 przez Prime_Bull Obywatel (1,820 p.)
Ok, a jakbym chciał zachować inputa name=login? I korzystać z niego na innej stronie?
komentarz 13 maja 2017 przez Assasz Nałogowiec (30,460 p.)
Wtedy sesja.
komentarz 13 maja 2017 przez Prime_Bull Obywatel (1,820 p.)
Ok, dzięki wielkie. Już wiem jak działać
0 głosów
odpowiedź 13 maja 2017 przez niezalogowany
Witam!

Po skopiowaniu kodu u mnie wszystko gra

Może być to przez to że w index2 formularz nic nie robi tylko "odświeża" strone

i wtedy post jest pusty bo nie dostał informacji po odświeżeniu

Co do tego nie jestem pewien bo dopiero jestem początkującym w php
0 głosów
odpowiedź 13 maja 2017 przez Prime_Bull Obywatel (1,820 p.)
Chyba wiem w czym problem. Po prostu w $_POST przetrzymywane są zmienne dla jednej strony, więc na następnej już nie działa, więc powinienem skorzystać z sesji.

Może ktoś to potwierdzić?

Podobne pytania

0 głosów
1 odpowiedź 180 wizyt
pytanie zadane 14 lutego 2016 w PHP przez TMMT Użytkownik (870 p.)
0 głosów
0 odpowiedzi 115 wizyt
pytanie zadane 16 lutego 2016 w HTML i CSS przez TMMT Użytkownik (870 p.)
0 głosów
1 odpowiedź 313 wizyt
pytanie zadane 21 grudnia 2019 w PHP przez milogab2004 Początkujący (440 p.)

92,568 zapytań

141,420 odpowiedzi

319,622 komentarzy

61,954 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...