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

[PHP] $_POST jest puste.

Object Storage Arubacloud
0 głosów
752 wizyt
pytanie zadane 26 lutego 2017 w PHP przez Ozzy Nowicjusz (140 p.)
Powrócilem ostatnio do kursu PHP pana Miroslawa Zelenta i napotkałem problem z metodą post. Wysyłanie danych formularzem do tablicy $_POST nie udaje się. Wyskakuje Notice: Undefined index:, a $_POST jest pusty. Sprawdzałem wielokrotnie poprawność pisowni i nawet pobrałem kod już gotowy z tego forum, ale on również napotykał te same błędy. Co mogło spowodować taki stan rzeczy?

1 odpowiedź

0 głosów
odpowiedź 26 lutego 2017 przez Ivan Maniak (60,650 p.)

Jestem czarodziejem i wkradłem się do twojego komputera. Spojrzałem w kod i w HTML-u tag form powinien mieć atrybut method=post

1
komentarz 26 lutego 2017 przez Ozzy Nowicjusz (140 p.)
Musisz popracować nad czarami. Napisałem, że sprawdzałem poprawność składni.
komentarz 26 lutego 2017 przez Ivan Maniak (60,650 p.)
To podaj kod PHP-a i HTML-a? Jak możesz zauważyć, ja nie znam się na czarach i potrzebuję twojego kodu, aby pomóc Ci. Zakładam, że większość osób tego będzie potrzebowała :)
komentarz 26 lutego 2017 przez Ozzy Nowicjusz (140 p.)
formularz HTML

<form action="zaloguj.php" method="post">

       <label for="1">Login: <br /> <input type="text" name="login" id="1"/> </label><br />
       <label for="2">Hasło: <br /> <input type="password" name="haslo" /></label> <br /><br />
   <input type="submit" value="Zaloguj się" />

</form>
Plik zaloguj.php

<?php
    require_once "connect.php";
    $polaczenie = @new mysqli($host, $db_user, $db_password, $db_name);
    if ($polaczenie->connect_errno!=0)
	{
		echo "Error: ".$polaczenie->connect_errno;
	}
	else
	{
		$login = $_POST['login'];
		$haslo = $_POST['haslo'];
        $polaczenie->close();
	}
?>

 

komentarz 27 lutego 2017 przez ciemna_strona_klamki Gaduła (4,360 p.)
Podajesz tutaj inny kod niż masz co jest bez sensu. Jeśli jednak nie to nie robi on nic. Zabezpiecz w pliku "zaloguj.php" dane wejściowe i powinno być dobrze. Poza tym nie musisz dodawać "for" gdy input jest wewnątrz etykiety.
komentarz 27 lutego 2017 przez Ozzy Nowicjusz (140 p.)
To jest mój kod, dodatkowo chodzi mi tutaj o to, że nie jest to jego wina skoro kod który teoretycznie powinien działać (pana Zelenta z code review) u mnie nie działa ze względu właśnie na przesyłanie zmiennych między plikami. Także może zadam troszkę inne pytanie: czy może to być wina serwera?
komentarz 27 lutego 2017 przez Ivan Maniak (60,650 p.)

To że jest on z CR to nie oznacza, że nie może mieć jakiejś literówki. Nie przesyłasz zmiennych pomiędzy plikami. Ty po prostu odpytujesz zaloguj.php POST-em (o ile chodzi Ci o "relacje" formularz - zaloguj.php.

Spróbuj wyrzucić tablicę POST:
 

<?php
    print_r($_POST);
    die();

    require_once "connect.php";
    $polaczenie = @new mysqli($host, $db_user, $db_password, $db_name);
    if ($polaczenie->connect_errno!=0)
    {
        echo "Error: ".$polaczenie->connect_errno;
    }
    else
    {
        $login = $_POST['login'];
        $haslo = $_POST['haslo'];
        $polaczenie->close();
    }
?>

komentarz 27 lutego 2017 przez Ozzy Nowicjusz (140 p.)
print_r wyrzuca pustą tablicę.

Podobne pytania

0 głosów
1 odpowiedź 196 wizyt
pytanie zadane 18 czerwca 2018 w PHP przez Piotr Szramowski Użytkownik (860 p.)
0 głosów
2 odpowiedzi 1,071 wizyt
0 głosów
1 odpowiedź 151 wizyt
pytanie zadane 30 stycznia 2019 w PHP przez zerakot Obywatel (1,870 p.)

92,552 zapytań

141,399 odpowiedzi

319,532 komentarzy

61,938 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!

...