array maken doormiddel van $_POST
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
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
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)
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
Gesponsorde koppelingen:
$_POST is toch eigenlijk al een array. waarom die foreach om het alsnog in een array te stoppen dan?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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 />';
}
}
?>
<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 -
Het lijkt mij dat je twee opties hebt:
1) Je zorgt voor meerdere inputvelden;
2) Gebruik explode
1) Je zorgt voor meerdere inputvelden;
Code (php)
1
2
3
4
5
6
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>
<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
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.
het is de bedoeling dat ik 1 veld naam heb.
en wat daar in wordt gezet dat het dan wordt opgedeeld.
Ivo schreef op 14.12.2009 19:04:
2) Gebruik explode
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
Notice: Array to string conversion in E:\xampp\htdocs\flyffwar\test123.php on line 10
Array
dit is mijn code nu
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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;
}
?>
<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;
}
?>
dump die $_POST['namen'] eens en zie wat er nu precies inzit.
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.
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 -
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.
(
[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
Demo
-> http://phphulp.vindme.nl/demo/1.php
Code dat is gebruikt
-> http://phphulp.vindme.nl/demo/1.php
Code dat is gebruikt
Code (php)
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
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>
# 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>
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.
thomas de vries niels de vries
dan zet ie het zo neer
thomas
de
vries
niels
de
vries
en dat moet dan niet.
pak dan een andere delimiter, bijvoorbeeld een streepje " - " voor je explode. Dan kun je thomas de vries - niels de vries invoeren.



