Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] formularz tak jakby
Forum PHP.pl > Forum > Przedszkole
Screwdriv
Cześć. pytanie jak zrobić by tablica posiadała wszystkie wprowadzone dane. przykład niekoniecznie dobry ale jakoś muszę pokazać o co mi chodzi.

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1250" />
<body>
<form method="POST">
pozycja1: <input type="text" name="order1" size="15">
ilość: <input type="text" name="order11" size="15">
pozycja2: <input type="text" name="order2" size="15">
ilość: <input type="text" name="order22" size="15">

<input type="submit" value="OK">
</form>
<?php
$pozycja1 = $_POST['order1'];
$ilosc1 = $_POST['order11'];
$pozycja2 = $_POST['order2'];
$ilosc2 = $_POST['order22'];
$wiadomosc = array ($zm_1, $zm2);
$zm_l = strlen($pozycja1 && $ilosc1);
$zm_2 = strlen($pozycja2 && $ilosc2);
if ($zm_l > 0) {
$wiadomosc = $pozycja1.' '.$ilosc1;
}

if ($zm_2 > 0) {
$wiadomosc = $pozycja2.' '.$ilosc2;

}
echo 'Wpisales dane oto twoje dane:', $wiadomosc;
?>
</body>
</head>
</html>



mamy formularz zawierający pola do wypełnienia. zastosowana jest kontrola czy dane są wpisane parami. jakoś to działa. chodzi mi o to żeby w momencie wypełnienia obu par wyświetliło mi wszystkie dane i bym mógł to wywołać jednym hasłem czyli np tu $wiadomosc
wolguy
$zm_l = strlen($pozycja1 && $ilosc1); to chyba powinno wyglądać tak: $zm_l = strlen($pozycja1 . $ilosc1);
Screwdriv
nie. strlen jest poprawnie. jest tam po to żeby sprawdzić czy oba pierwsze pola zostały wypełnione i to samo z drugą parą..
nie wiem jak zmusić to blaszane pudło do wyświetlenia na końcu danych z obu par. bo na tą chwilę druga para nadpisuje mi
dane pierwszej i wyświetli tylko ostatnią parę a zależy mi na tym żeby wyświetlił wszystko jednym wywołaniem.
viking
  1. if ($zm_2 > 0) {
  2. $wiadomosc .= $pozycja2.' '.$ilosc2;
Screwdriv
ehhh jedna głupia kropka i tyle problemów dzięki
wolguy
no ale sprawdzanie strlen boola nie ma za bardzo sensu
Screwdriv
Skoro robi to o co mi chodzi to ma sens. zapewne można zapisać to w inny "lepszy" sposób ale te inne sposoby (empty, isset...) nie dawały mi tego co chciałem. a ten kod to tylko przykład.
wolguy
tylko w takim razie if ($zm_l > 0) { zawsze zwróci true
Screwdriv
ma mi podawać wartości z okienek jeśli zostały wypełnione i jest tam warunek wypełnienia dwóch pierwszych okienek wtedy zm_1 ma wartość true w innym przypadku echo nic nie wyświetli. co tu jest źle?
wolguy
operator && zwróci 1 albo 0. Jeśli sprawdzimy długość 0 czy 1 to zawsze będzie 1 dlatego ten warunek z ifa zawsze się wykona
viking
No nie do końca. && zwróci boolean a strlen boolean daje 0 albo 1.
wolguy
a to przepraszam
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.