waardes in een array toevoegen via een formulier

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pim B

Pim B

31/05/2011 15:31:25
Quote Anchor link
Hoi,

Ik wil waardes aan een array toevoegen dmv een formulier. Dus zo dat de array steeds langer wordt als er een nieuwe waarde aan wordt toegevoegd.

Dit is m'n formulier:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
echo "<form action='' method='post'>
        <input type='text' name='naam' />
        <input type='submit' name='submit' value='Voeg toe' />
      </form>"
;
?>

Dit is m'n code:
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
<?php
$test
= array();

array_push($test, "aardbei");
array_push($test, "banaan");
array_push($test, "citroen");
array_push($test, "druif");

// waarde toevoegen
array_push($test, $_POST['naam']);
// of $test[] = $_POST['naam'];

// laten zien op scherm

foreach($test as $naam)
{

  echo $naam."<br />";
}

?>

Maar zo wordt de toegevoegde waarde na elke submit vervangen. Ik wil dat iedere nieuwe waarde onderaan de lijst wordt toegevoegd en dat alle eerder toegevoegde waarden gewoon blijven staan. Is dat mogelijk met een array?
 
PHP hulp

PHP hulp

09/11/2024 02:29:19
 
- Mark -

- Mark -

31/05/2011 15:33:37
Quote Anchor link
Ja dat is mogelijk maar je moet de huidige waarde wel tussentijds opslaan.

- hidden form field
- $_SESSION
- $_COOKIE
 
Arjan -

Arjan -

31/05/2011 15:37:15
Quote Anchor link
Gebruik sessions:

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
<?php
session_start();

if($_SERVER['REQUEST_METHOD'] == 'POST') {

    if(!isset($_SESSION['test']) OR !is_array($_SESSION['test']))
        $_SESSION['test'] = array();

    $_SESSION['test'][] = $_POST['naam'];


}


if(is_array($_SESSION['test']) AND count($_SESSION['test']) > 0) {


    foreach($_SESSION['test'] AS $value) {

        echo htmlspecialchars($value).'<br />';

    }

}

?>
Gewijzigd op 31/05/2011 15:54:00 door Arjan -
 
- SanThe -

- SanThe -

31/05/2011 15:49:15
Quote Anchor link
Pim B op 31/05/2011 15:31:25:
Ik wil dat iedere nieuwe waarde onderaan de lijst wordt toegevoegd en dat alle eerder toegevoegde waarden gewoon blijven staan. Is dat mogelijk met een array?


Daar is een session een goede oplossing voor. Echter als je de browser sluit ben je alles weer kwijt. Wil je het bij een volgende keer weer hebben dan zal je het in een database of in een cookie moeten zetten. Nadeel van een cookie is weer dat men dat kan editen en/of weggooien. Een database is de beste oplossing.
 



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.