array maken doormiddel van $_POST

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Thomas

thomas

14/12/2009 18:59:00
Quote Anchor link
Goedendag ik heb een vraag.
ik ben bezig met een scriptje (wie niet).
maar ik wil dit hebben
heb een forum wat er zo uitziet.
<forum method="POST">
<input name="namen[]" type="text" size="40"/>
<input type="submit" name="submit">
</form>

nu probeer ik als ik dit zeg maar in typ
blaat blaat2 blaat3
dat ie daar een array van maakt. en onder elkaar weergeeft.
is dit mogelijk?
ik heb nu dit
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(isset($_POST[submit]))
{

    foreach($_POST[namen] as $a)
    $namen = array($a);
    
    $i=0;
    while($namen[$i])
    {

        echo $namen[$i] ."<br />";
        $i++;
    }
    

}


?>

Alleen zet ie ze niet onderelkaar neer.
maar kan ook niet zeggen van pak nummer2
dus zo
$namen[2];
deze laat ie dan wel zien
$namen[0];
maar dan laat ie dus zien blaat blaat2 blaat3
Gewijzigd op 01/01/1970 01:00:00 door Thomas
 
PHP hulp

PHP hulp

25/04/2024 06:37:40
 
W W

W W

14/12/2009 19:04:00
Quote Anchor link
$_POST is toch eigenlijk al een array. waarom die foreach om het alsnog in een array te stoppen dan?
 
- SanThe -

- SanThe -

14/12/2009 19:04:00
Quote Anchor link
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
<form method="POST">
    <input name="namen[]" type="text" size="40"/>
    <input name="namen[]" type="text" size="40"/>
    <input name="namen[]" type="text" size="40"/>
    <input name="namen[]" type="text" size="40"/>
    <input type="submit" name="submit">
</form>

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

    foreach($_POST['namen'] as $a)
    {

        echo $a . '<br />';
    }
}

?>
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
 
Ivo K

Ivo K

14/12/2009 19:04:00
Quote Anchor link
Het lijkt mij dat je twee opties hebt:

1) Je zorgt voor meerdere inputvelden;

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<form method="post">
<input type="text" name="namen[]" />
<input type="text" name="namen[]" />
<input type="text" name="namen[]" />
<input type="submit" value="go" />
</form>

2) Gebruik explode
Gewijzigd op 01/01/1970 01:00:00 door Ivo K
 
Thomas

thomas

14/12/2009 19:18:00
Quote Anchor link
Ja dat kan ook maar dat is niet de bedoeling anders krijg ik een pagina met meer dan 2400 veld namen.
het is de bedoeling dat ik 1 veld naam heb.
en wat daar in wordt gezet dat het dan wordt opgedeeld.
 
- SanThe -

- SanThe -

14/12/2009 19:23:00
Quote Anchor link
Ivo schreef op 14.12.2009 19:04:
2) Gebruik explode
 
Thomas

thomas

14/12/2009 19:26:00
Quote Anchor link
tja dat heb ik geprobeerd krijg deze melding

Notice: Array to string conversion in E:\xampp\htdocs\flyffwar\test123.php on line 10
Array

dit is mijn code nu
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
<form method="POST" action="">
<input name="namen[]" type="text" size="40"/>
<input type="submit" name="submit"/>
</form>

<?php
error_reporting(E_ALL);
if($_SERVER['REQUEST_METHOD'] == 'POST')
{

    $namen = $_POST['namen'];
    $a = explode(" ", $namen);
    echo $a;
}

?>
 
W W

W W

14/12/2009 19:29:00
Quote Anchor link
dump die $_POST['namen'] eens en zie wat er nu precies inzit.
 
- Mark -

- Mark -

14/12/2009 19:32:00
Quote Anchor link
haal [] eens weg bij namen, Je bent nu een array aan het opblazen. Dat gaat dus nooit lukken.

EDIT echo $a gaat ook niet werken daar moet je dan met een foreach doorheen lopen.
Gewijzigd op 01/01/1970 01:00:00 door - Mark -
 
Thomas

thomas

14/12/2009 19:34:00
Quote Anchor link
Array
(
[namen] => Array
(
[0] => blaat blaat1 blaat2
)

[submit] => Query verzenden
)

dus er zit wel degelijk wat in.
ook als ik dit doe $a[0]
blij ik dezelfde notice houden zonder resultaat

Edit heb nu die blokhaken weggehaald bij namen en nu doet ie het wel
stom stom stom.
Gewijzigd op 01/01/1970 01:00:00 door thomas
 
Mr.Ark

Mr.Ark

14/12/2009 19:41:00
Quote Anchor link
Demo

-> http://phphulp.vindme.nl/demo/1.php

Code dat is gebruikt

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?PHP

# Errors
error_reporting(E_ALL);

# Kijken of er gepost wordt
if($_SERVER['REQUEST_METHOD'] == 'POST')
{

    # Kijken of er iets is ingevuld
    if(!empty($_POST['textfield']))
    {

        # Input opdelen
        $Input = explode(' ', $_POST['textfield']);
        
        # Resultaten weergeven
        foreach($Input as $Value)
        {

            echo $Value.'<br/>';
        }
    }

    else
    {
        # Niks ingevuld
        echo 'Voer A.U.B iets in.';
    }
    
}


?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<form id="form1" name="form1" method="post" action="">
  <label>
    <input type="text" name="textfield" id="textfield" />
  </label>
  <label>
    <input type="submit" name="button" id="button" value="Submit" />
  </label>
</form>
</body>
</html>
 
Thomas

thomas

14/12/2009 19:44:00
Quote Anchor link
ke mat wat nou als ik dit doe
thomas de vries niels de vries
dan zet ie het zo neer
thomas
de
vries
niels
de
vries

en dat moet dan niet.
 
- Mark -

- Mark -

14/12/2009 19:47:00
Quote Anchor link
pak dan een andere delimiter, bijvoorbeeld een streepje " - " voor je explode. Dan kun je thomas de vries - niels de vries invoeren.
 
- SanThe -

- SanThe -

14/12/2009 19:47:00
Quote Anchor link
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
<form method="POST">
    <input name="namen" type="text" size="40"/>
    <input type="submit" name="submit">
</form>

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

    $array = explode(' ', $_POST['namen']);
    foreach($array as $a)
    {

        echo $a . '<br />';
    }
}

?>
 



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.