Kezdőoldal » Számítástechnika » Programozás » Milyen módon lehetséges...

Milyen módon lehetséges korlátlan számban létrehozható inputok feldolgozása php-ben?

Figyelt kérdés

Sziasztok!


Szeretnék egy olyan projectet csinálni, hogy adott pl.: 3 db input mező (név,e-mailcím,életkor). Ez alapértelmezetten létrehozom HTML fájlban. De a felhasználónak lenne lehetősége mondjuk egy gomb segítségével további "űrlap" (tehát még 1x 3 db mező) létrehozására. És ezt korlátlan számban tehetné meg, annyiszor ahányszor a gombra kattint.


Na most a kérdésem, hogy egyrészt ti, hogy hoznátok létre (gondolom javascripttel) a további input mezőket?


Illetve a fő kérdésem az lenne, hogy ezeket a mezőket milyen módon dolgoznátok fel PHP-ben úgy, hogy utána az MySql (phpmyadmin) adatbázisban tárolnám külön rekordokként?


Előre is nagyon szépen köszönöm a válaszokat! :)



#adatbázis #php #feldolgozás #MySQL #hitelesítés #Apach server #Client generated form
2019. aug. 1. 14:46
 1/5 A kérdező kommentje:
*Tehát javascriptel dinamikusan létrehozott inputokra gondolok ezalatt! :D
2019. aug. 1. 15:58
 2/5 anonim ***** válasza:
16%

Létrehoznám az inputokat a html-ben de elrejtve (display: none), és ha rányomnak a gombra akkor mindig a soron következőt megjeleníteném (css "display" beállítás). Vagy hozzáadogatni a HTML-hez az inputokat a javascript segítségével (ezt döntsd el neked melyik egyszerűbb)


PHP-ban pedig úgy tudod ellenőrizni, hogy kitöltötték-e a újonnan megjelenített mezőket, hogy:

if(isset($_POST['input_name']) && !empty($_POST['input_name']){

// Ki lett töltve a mező, ezért fel kell dolgozni az adatot belőle

// Ezt természetesen az összessel el kell játszani

}

2019. aug. 1. 17:42
Hasznos számodra ez a válasz?
 3/5 anonim ***** válasza:
100%

Javascript-tel létrehozod az inputot és append-eled egy divhez pl, amiben a többi mező van. Ilyesmi:

let inp=document.createNode('input');

//Beállítod az input paramétereit

inp.name='extramezo[]';

document.getElementById('mezok').appendChild(inp);


A name-nél látod, hogy odatettem a []-t. Ez azt jelenti, hogy ez egy array lesz. A php az egészet úgy kapja meg, hogy $_POST['extramezo'] (vagy GET-tel, attól függ milyen a form) és ez egy array lesz. Tehát egy forral végigmehetsz rajta.

Pl:

if(isset($_POST['extramezo'])){

foreach($_POST['extramezo'] as $mezo){

//Csinálsz valamit a $mezo-vel, ami egy normál string mostmár

}

}


És ha az user adja meg a mező nevét is, akkor két inputot addolnék egyszerre, külön array névvel és egy közös forral végig mehetsz rajta.

2019. aug. 1. 17:57
Hasznos számodra ez a válasz?
 4/5 anonim ***** válasza:
100%
Ha nem világos, csinálok majd egy demo-t neked.
2019. aug. 1. 17:58
Hasznos számodra ez a válasz?
 5/5 A kérdező kommentje:
Köszönöm mindkettő választ! A legelső válasz bár egy kicsit megfoghatatlan, és nem is tartom kézenfekvőnek egy előre nem meghatározott (potenciálisan akár végtelen) mezőt hozzáadni egy html formhoz. A második azonban működőnek tűnik. Esetleg egy demozással jobban közelebb jutnánk a megértéshez, de így is világosan átlátható ötletnek tűnik. :)
2019. aug. 2. 11:11

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!