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

Jak dobrać się do zmiennych wpisywanych przez użytkownika w tabeli?

Object Storage Arubacloud
0 głosów
356 wizyt
pytanie zadane 10 kwietnia 2017 w PHP przez bwl Obywatel (1,530 p.)
edycja 10 kwietnia 2017 przez bwl

Jako, że to mój pierwszy post, serdecznie pozdrawiam użytkowników forum :)

Uwaga totalna piaskownica ;)

Sytuacja jest następująca, robię stronę z checkboxami, zaznaczenie ich lub nie równa się z wyborem na przykład jakiś kategorii, i przesyłam je postem:

<form action="dodaj.php" method="post">
		<input type="checkbox" name="warzywa"/>Warzywa</br>
		<input type="checkbox" name="wedliny"/>Wędliny</br>
		<input type="submit" value="Wyslij">
</form>

Następnie odbieram te dane i  tworzę odpowiednie tabele:

<?php

 if (isset($_POST['warzywa'])) 
	    { echo 
 '<table>
	<tr>
		<th>Warzywo</th>
		<th>Ilość kilogramów</th>
	</tr>
	<tr>
		<td>Marchew</td>
		<td><input type="text" name="ilemarchwi"/></td>
	</tr>
	<tr>
		<td>Pasternak</td>
		<td><input type="text" name="ilepasternaku/"></td>
	</tr>
</table>
<input type="submit" name="Wyśli"/>'
}
?>

Chciał bym teraz wysłać dane wpisane przez użytkownika do bazy danych.... i własnie tu poległem

Dzięki!

 

 

 

3 odpowiedzi

0 głosów
odpowiedź 10 kwietnia 2017 przez Fenix Nałogowiec (26,750 p.)
Może poprostu opakuj sobie tą tabele w forma.
komentarz 10 kwietnia 2017 przez bwl Obywatel (1,530 p.)
Próbowałem...być może zmęczenie materiału i jakiś głupi błąd popełniam, w każdym razie na razie nie działa.
0 głosów
odpowiedź 10 kwietnia 2017 przez pablop76 VIP (123,120 p.)
Witam.

1. </br> tak się nie domyka. Jezeli już to <br />

2. Tak nie stosuje się instrukcji echo. Albo dajesz do każdego wiersza albo używasz instrukcji wieloliniowej.

Ustanowienie połączenia z bazą danych i zapis danych to zobacz np: odcinki pana  Zelenta na temat php i mysql.
komentarz 10 kwietnia 2017 przez bwl Obywatel (1,530 p.)
Sorry ale twoja odpowiedz nic nie wnosi do tematu, nadal nie wiem jak dobrać się do zmiennych ;)
komentarz 10 kwietnia 2017 przez niezalogowany
Tagu br w HTML w ogóle się nie domyka.

https://www.w3.org/TR/html5/text-level-semantics.html#the-br-element

...w XHTML jak najbardziej: https://www.w3.org/TR/xhtml1/#h-4.6
komentarz 10 kwietnia 2017 przez pablop76 VIP (123,120 p.)
odbieranie danych

$zmienna = $_POST['nazwa_pola'];
komentarz 10 kwietnia 2017 przez bwl Obywatel (1,530 p.)
Tak robię, nawet w cytowanym kodzie.
komentarz 10 kwietnia 2017 przez pablop76 VIP (123,120 p.)
<?php
 if (isset($_POST['warzywa']) && !isset($_POST['wedliny'])){      
 echo <<<_END
 <table>
    <tr>
        <th>Warzywo</th>
        <th>Ilość kilogramów</th>
    </tr>
    <tr>
        <td>Marchew</td>
        <td><input type="text" name="ilemarchwi"/></td>
    </tr>
    <tr>
        <td>Pasternak</td>
        <td><input type="text" name="ilepasternaku/"></td>
    </tr>
</table>
<input type="submit" name="Wyśli"/>
_END;
}
else if(isset($_POST['wedliny']) && !isset($_POST['warzywa'])){
	echo "Wybrano Wędliny :)";
}
else{
	echo "Nic nie wybrano lub wybrano obydwie kategorie";
}
?>

 

komentarz 11 kwietnia 2017 przez bwl Obywatel (1,530 p.)
Ok. Kod seksowniejszy. Problem niestety nadal nie rozwiązany ;(
komentarz 11 kwietnia 2017 przez pablop76 VIP (123,120 p.)

Ale czy ty chcesz opisu wysyłania danych do bazy ?

Aby nawiązać połączenie z baza w trybie obiektowym, należy wywołać konstruktor klasy msqli.

new mysqli("host","użytkownik","hasło","nazwa_bazy");

Jeżeli połączenie uda się nawiązać powstaje obiekt typu mysqli, który może wykonywać dalsze operacje, w przeciwnym razie kod błędu można uzyskać dzięki właściwości connect_errno, a komunikat - dzięki właściwości connect_error.

Połączenie otwarte za pomocą konstruktora klasy mysqli zostanie zamknięte automatycznie, gdy skrypt zakończy działanie lub też gdy zostanie wywołana metoda close.

0 głosów
odpowiedź 12 kwietnia 2017 przez bwl Obywatel (1,530 p.)

@pablop76 

Kurcze myślałem, że potrafię jasno formułować problemy, chyba jednak nie ;)

W późniejszym etapie, tak będę chciał dodać te zmienne do bazy, natomiast w tej chwili chodzi o coś innego.

Abym mógł dodać zmienne do bazy muszę jakoś się do nich dostać. Chodzi o zmienne wpisywane przez użytkownika do tabeli.

Próbowałem opakować to formularzem, w różnych miejscach, próbowałem  "$ilemarchwi = $_POST", próbowałem "isset"... No i niestety bez rezultatów.

Zapomnijmy w tym momencie o bazie danych, w tej chwili wystarczy aby zadzialało np. echo $ilemarchwi;

 

komentarz 12 kwietnia 2017 przez pablop76 VIP (123,120 p.)

Witam. No właśnie Ci podałem jak zapisać dane z formularza.

$zmienna = $_POST['nazwa_pola'];

Aby je potem pokazać

echo $zmienna;

Warunek jest taki, że pokazujesz je na stronie ,do której je wysłałeś za pomocą atrybutu action. Jeżeli chcesz korzystać ze zmiennych na innych podstronach to tworzysz sesje.

$_SESSION["zmienna"];

i do storon dodajesz session_start();

komentarz 12 kwietnia 2017 przez bwl Obywatel (1,530 p.)
Tak wiem, ale własnie te metody nie działają. Prawdopodobnie przyczyną jest to, że inputy są wewnątrz php. Zresztą w którym miejscu by tu można umieścić <form>.....
1
komentarz 12 kwietnia 2017 przez pablop76 VIP (123,120 p.)

Działają :)

W drugim pliku zamykasz tabele w formularz i wysyłasz do kolejnego pliku

np: suma.php a tam odbierasz dane i wyświetlasz na ekranie.

<?php   
   echo $marchew = "Zamówiono ".$_POST["ilemarchwi"]." kg marchwi<br />";
   echo $pasternak = "Zamówiono ".$_POST["ilepasternaku"]." kg pasternaku";
?>

I może lepiej zrobić inputy typu number dla wpisywania ilości produktów?

komentarz 13 kwietnia 2017 przez bwl Obywatel (1,530 p.)
Faktycznie po przekierowaniu do innego dokumenty zadziałało bez problemu:)

Dzięki za pomoc i cierpliwość ;)

Jeśli chodzi o inputy to przemyślę sprawę problem stanowi IE :)

Podobne pytania

0 głosów
1 odpowiedź 243 wizyt
pytanie zadane 16 października 2017 w PHP przez dominiv2604 Początkujący (350 p.)
0 głosów
1 odpowiedź 347 wizyt
pytanie zadane 21 maja 2018 w PHP przez szachovy Początkujący (270 p.)
0 głosów
0 odpowiedzi 273 wizyt

92,551 zapytań

141,399 odpowiedzi

319,529 komentarzy

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

...