Meerdere updates op 1 pagina !

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Dendeze ikke

dendeze ikke

14/05/2013 13:17:41
Quote Anchor link
Hallo,

Ik heb een volgende vraag: ik heb verschillende input velden die ik apart wens updaten, is dit mogelijk en hoe verwerk ik dit?
Maak ik per verzendbutton een formulier zoals een gewone update, of is er een andere mogelijkheid?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
Kleur:<input type="text" id="kleur" name="kleur" maxlength="10">
<
input class="updatebutton"  name="verzenden" type="submit" id="verzenden" value="Upate"><br />
Aantal:<input type="text" id="aantal" name="aantal" maxlength="10">
<
input class="updatebutton"  name="verzenden" type="submit" id="verzenden" value="Upate"><br />
lengte:<input type="text" id="lengte" name="lengte" maxlength="10">
<
input class="updatebutton"  name="verzenden" type="submit" id="verzenden" value="Upate"><br />
?>

Thx
 
PHP hulp

PHP hulp

19/04/2024 18:37:50
 
Landleven Tips

Landleven Tips

14/05/2013 14:28:48
Quote Anchor link
Hallo,

Het is mogelijk, alleen niet op de manier waarop je het momenteel hebt opgebouwd. Je mist ten eerste <form> element, waardoor jouw formulier dus nooit zou worden verzonden naar de server. Je kan de input velden in 3 apprte forms zetten. Zoals ik hieronder toon:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<form action="POST" method="(JOUW UPDATE PAGINA)">
Aantal:<input id="aantal" type="text name="aantal" maxlenght="10" />
<input class="updatebutton"  name="verzenden" type="submit" id="verzenden" value="Update" />
</form>
etc..


Als je het allemaal naar dezelfde update pagina toestuurt, kan je werken met een GET om vervolgens te ontdekken wat er moet worden geupdate dus:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {
    $get = $_GET['mode'];
    if($get === 'kleur') {
        // Update kleur
    } else if($get === 'Aantal') {
        // Update aantal
    } else if($get === 'lengte') {
        // Update lengte
    } else {
        // Geen van alle 3, toon foutmelding
    }
}
else {
    // Geen bericht gestuurt, toon foutmelding
}

?>


Ikzelf, zou dit nooit doen, 3 apparte forms opbouwen, om het apparte te updaten. Het is onhandig, vooral als ik 2 velden of meer wil veranderen.
 
Dendeze ikke

dendeze ikke

14/05/2013 19:46:56
Quote Anchor link
De update die lukt wel, maar als ik 1 update uitvoer, dan gaan ze beide en krijg ik een leeg veld. Dus hoe laat ik er maar 1 uitvoeren op dezelfde pagina ?
 
Pieter R

Pieter R

14/05/2013 21:41:36
Quote Anchor link
@ Langleven Tips
Je gebruikt POST en GET door elkaar.
Kan dit?
En zo ja, waarom doe je dat zo?
 
Kevin Driessen

Kevin Driessen

16/05/2013 13:33:05
Quote Anchor link
Quote:
Je gebruikt POST en GET door elkaar.
Kan dit?

Volgens mij wel en dat biedt tevens een mogelijke uitkomst op vraag van dit topic.

Om Langleven Tips' uitwerking iets simpeler en concreter te maken:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
if($_POST){
   $get = $_GET['mode'];
    if($get === 'kleur') {
        // Update kleur
    } else if($get === 'Aantal') {
        // Update aantal
    } else if($get === 'lengte') {
        // Update lengte
    } else {
        // Geen van alle 3, toon foutmelding
    }
}

?>


<form action="?mode=kleur" method="post">
   Kleur:<input type="text" id="kleur" name="kleur" maxlength="10">
   <input class="updatebutton"  name="verzenden" type="submit" id="verzenden" value="Upate">
</form>
<form action="?mode=aantal" method="post">
   Aantal:<input type="text" id="aantal" name="aantal" maxlength="10">
   <input class="updatebutton"  name="verzenden" type="submit" id="verzenden" value="Upate">
</form>
<form action="?mode=lengte" method="post">
   lengte:<input type="text" id="lengte" name="lengte" maxlength="10">
   <input class="updatebutton"  name="verzenden" type="submit" id="verzenden" value="Upate"><br />
</form>


Ik sluit me er overigens bij aan dat zo'n werkwijze niet aanraadbaar is. Gebruikers zullen geheid in de war raken wanneer ze alle velden invullen en slechts één veld daadwerkelijk aangepast wordt.

Als je een toepassing wil waarbij ieder veld individueel wordt bijgewerkt, dan raad ik aan te werken met javascript/jquery en ajax. Dit maakt het mogelijk directe feedback te geven voor de gebruiker, zodat eventuele verwarring vermeden kan worden. Het maakt je code er overigens wel een stukje lastiger op, alhoewel ik dat het persoonlijk waard zou vinden.
Gewijzigd op 16/05/2013 13:34:08 door Kevin Driessen
 
Pieter R

Pieter R

16/05/2013 18:16:38
Quote Anchor link
Kevin, bedankt voor je uitleg.
In 'action' zit dus de GET en in 'method' de POST.
Het is inderdaad een wat eigenaardige constructie.
Gewijzigd op 16/05/2013 19:00:19 door Pieter R
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.