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

question-closed Problem z zadaniem egzaminacyjnym

Object Storage Arubacloud
0 głosów
373 wizyt
pytanie zadane 30 grudnia 2018 w Egzaminy zawodowe przez bartek2527 Początkujący (250 p.)
zamknięte 31 grudnia 2018 przez bartek2527

Witam mam problem z zadaniem egaminacyjnym http://egzamin-e14.blogspot.com/2017/10/arkusz-e14-01-1706.html

To jest formularz 

<form action="pacjent.php" method="POST">
<label>Podaj id:<br />
<input type="number" id="licz"></label>
<input type="submit" value="Pokaż dane">
</form>

a to jest mój kod nie ważne czy on jest zły czy dobry chodzi o to że po wpisaniu liczby od 1 do 4 wyskakuje błąd 

Notice: Undefined index: licz in C:\xampp\htdocs\ćwiczenia do egzaminu\Przychodnia\pacjent.php on line 49 

tak jakby nie pobiera z formularza wartości pola number, a nazwy plików się zgadzają.

 

 <?php
$id=$_POST['licz']; <--to jest 49 linia wydaje mi się że tu wszystko jest poprawnie 
$con = mysqli_connect('localhost','root','','przychodnia');
if($id==1)
{
$query = mysqli_query($con,"SELECT imie,nazwisko,choroby_przewlekle,uczulenia from pacjenci where id='1'");
while ($row = mysqli_fetch_assoc($query))
{
    echo "Imię i nazwisko: ".$row['imie'].$row['nazwisko']."<br /><br /> Choroby przewlekłe: ".$row['choroby_przewlekle']."<br /><br /> Uczulenia: ".$row['uczulenia'];
}
}
else if ($id==2)
{
    $query = mysqli_query($con,"SELECT imie,nazwisko,choroby_przewlekle,uczulenia from pacjenci where id='2'");
while ($row = mysqli_fetch_assoc($query))
{
    echo "Imię i nazwisko: ".$row['imie'].$row['nazwisko']."<br /><br /> Choroby przewlekłe: ".$row['choroby_przewlekle']."<br /><br /> Uczulenia: ".$row['uczulenia'];
}
}
else if ($id==3)
{
    $query = mysqli_query($con,"SELECT imie,nazwisko,choroby_przewlekle,uczulenia from pacjenci where id='3'");
while ($row = mysqli_fetch_assoc($query))
{
    echo "Imię i nazwisko: ".$row['imie'].$row['nazwisko']."<br /><br /> Choroby przewlekłe: ".$row['choroby_przewlekle']."<br /><br /> Uczulenia: ".$row['uczulenia'];
}
}
else if ($id==4)
{
    $query = mysqli_query($con,"SELECT imie,nazwisko,choroby_przewlekle,uczulenia from pacjenci where id='4'");
while ($row = mysqli_fetch_assoc($query))
{
    echo "Imię i nazwisko: ".$row['imie'].$row['nazwisko']."<br /><br /> Choroby przewlekłe: ".$row['choroby_przewlekle']."<br /><br /> Uczulenia: ".$row['uczulenia'];
}
}
mysqli_close($con);
?>

komentarz zamknięcia: Odpowiedź

1 odpowiedź

+1 głos
odpowiedź 30 grudnia 2018 przez shotokan Nałogowiec (39,660 p.)

Witam,
zamiast id użyj name i powinno działać.
Poza tym błąd może się pojawiać na początku uruchomienia skryptu bo wtedy jeszcze obiekt $_POST['licz'] nie istnieje. Dopiero po kliknięciu w przycisk 'pokaż dane' ten obiekt powstanie.
Staraj się zawsze używać choćby zwykłej instrukcji if, np.:
 

if(isset($_POST['licz'])) {
        $id = $_POST['licz'];
    }

Dlaczego label zamykasz za polem typu number?

komentarz 30 grudnia 2018 przez bartek2527 Początkujący (250 p.)
Tylko teraz nie rozpoznaje zmiennej id przy else ifach
komentarz 30 grudnia 2018 przez shotokan Nałogowiec (39,660 p.)

Pokaż cały kod bo tak to trudno coś Ci pomóc widząc tylko kawałek, być może w niepokazanej części kodu jest jakiś błąd.
Przy okazji, zamiast używać tyle razy ifa nie prościej użyć zapytania ze zmienną?
 

SELECT imie,nazwisko,choroby_przewlekle,uczulenia from pacjenci where id='$id'

 

komentarz 31 grudnia 2018 przez bartek2527 Początkujący (250 p.)

@shotokan,  juz działa zamiast id przy numberze użyłem name 

komentarz 31 grudnia 2018 przez shotokan Nałogowiec (39,660 p.)
No przecież to Ci napisałem, abyś tak zrobił. Cieszę się, że mogłem pomóc.

Podobne pytania

0 głosów
1 odpowiedź 820 wizyt
pytanie zadane 29 grudnia 2018 w Egzaminy zawodowe przez bartek2527 Początkujący (250 p.)
0 głosów
1 odpowiedź 126 wizyt
pytanie zadane 22 lutego 2017 w Egzaminy zawodowe przez plwodzpl Nowicjusz (120 p.)
0 głosów
1 odpowiedź 116 wizyt

92,572 zapytań

141,423 odpowiedzi

319,645 komentarzy

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

...