7 berichten aan het bekijken - 1 tot 7 (van in totaal 7)
  • Q:
    Bijdrager
    Chillie

    [Opgelost!] [PHP] Meerdere forms verwerken

    Hey,

    Ik heb een lijstje zoals de volgende:

    [code:1:91fce1e112]

    <input type=’text’ name=’categorie’ value=’categorie 1′ size=’30’ /><input type=’submit’ name=’bewerk’ value=’Bewerken’ /><br />
    <input type=’text’ name=’categorie’ value=’categorie 2′ size=’30’ /><input type=’submit’ name=’bewerk’ value=’Bewerken’ /><br />
    <input type=’text’ name=’categorie’ value=’categorie 3′ size=’30’ /><input type=’submit’ name=’bewerk’ value=’Bewerken’ /><br />
    <input type=’text’ name=’categorie’ value=’categorie 4′ size=’30’ /><input type=’submit’ name=’bewerk’ value=’Bewerken’ /><br />
    <input type=’text’ name=’categorie’ value=’categorie 5′ size=’30’ /><input type=’submit’ name=’bewerk’ value=’Bewerken’ /><br />

    [/code:1:91fce1e112]

    Nu wil ik dus dat als categorie 1 en 3 bewerkt zijn, maar er alleen maar bij categorie 3 op ‘Bewerk’ geklikt wordt, dat categorie 1 ook opgeslagen wordt.
    Dus dat de $_POST[‘categorie’] eigenlijk een soort array wordt ofzo? Maar weet niet precies hoe dat werkt..

    Kan iemand mij dat uitleggen?

    -Robin

    Bijdrager
    Steph

    Is het dan niet handiger om 1 knop ‘bewerken’ te maken onderaan. Want als het script toch eerst moet controleren of er nog meer bewerkingen zijn gedaan dan kan het net zo goed het gehele formulier controleren.

    Bijdrager
    Chillie

    Maar dan zitten we dus met meerdere <input type=’text’ name=’categorie’> velden

    Hoe verwerk ik die in PHP? 1 stuks is gewoon $_POST[‘categorie’] maar wat is de waarde van meerdere stuks met dezelfde naam?

    Ik had ooit ergens iets gezien als <input type=’text’ name=’categorie[]’> ofzo?

    Bijdrager
    sturb

    Het is denk ik handiger om de inputs allemaal een eigen naam te geven: name=cat_1 etc etc

    En dan in plaats van een submit knop een button te gebruiken die je een javascript functie laat aanroepen met het argument cat_1/cat_2 naar gelang je welke knop indrukt.

    Bijdrager
    Steph

    [code:1:9abdf21890]<input type=’text’ name=’cat1′ value=’categorie 1′ size=’30’ /><br />
    <input type=’text’ name=’cat2′ value=’categorie 2′ size=’30’ /><br />
    <input type=’text’ name=’cat3′ value=’categorie 3′ size=’30’ /><br />
    <input type=’text’ name=’cat4′ value=’categorie 4′ size=’30’ /><br />
    <input type=’text’ name=’cat5′ value=’categorie 5′ size=’30’ /><br />
    <input type=’submit’ name=’bewerk’ value=’Bewerken’ />

    PHP:

    if($cat1){
    actiescript
    }

    if($cat2){
    actiescript
    }

    if($cat3){
    actiescript
    }

    if($cat4){
    actiescript
    }

    if($cat5){
    actiescript
    }[/code:1:9abdf21890]

    zoiets ?

    op de plek van ‘actiescript’ kan jenatuurlijk een function zetten

    Bijdrager
    Chillie

    Sephone, bedankt voor je reactie. Maar dat is niet het niveau php-scripten waar ik het over heb.

    Ik begrijp dat dat een oplossing is, maar die list met input fields moet oneindig kunnen zijn en toch verwerkt worden. Op jouw manier moet ik iedere keer een nieuwe if-statement in mijn script verwerken als ik een nieuwe input field ga toevoegen.

    Bijdrager
    Chillie

    Heb het al gevonden met uitproberen.
    Dit is wat ik zocht:

    [code:1:08aca99512]
    <?php
    if(isset($_POST[’test’]))
    {
    foreach($_POST[’categorie’] as $key=>$value)
    {
    echo $value."<br />";
    }
    }
    else
    {
    echo "
    ?>
    <form action="<?php echo $_SERVER[’PHP_SELF’] ?>" method="post">
    <input type=’text’ name=’categorie[]’ /><br />
    <input type=’text’ name=’categorie[]’ /><br />
    <input type=’text’ name=’categorie[]’ /><br />
    <input type=’text’ name=’categorie[]’ /><br />
    <input type=’submit’ name=’test’ value=’Probeer nu’ />
    </form>

    [/code:1:08aca99512]

    Maakt niet uit hoe veel input velden je hebt staan. Hij pakt van iedere input field de waarde die er in zit en gaat die verwerken totdat er geen waardes (input fields) meer over zijn.

    Zo kan ik dus een lijst categorien weergeven als input fields met bewerk button er onder. Dan loopt ie ze allemaal na en behandelt hij ze individueel.

    Ik kan weer vooruit. Voor alle replyers: bedankt voor het meedenken.

7 berichten aan het bekijken - 1 tot 7 (van in totaal 7)

Je moet ingelogd zijn om een reactie op dit onderwerp te kunnen geven.