[PHP] Variables

Pagina: 1
Acties:

  • DeVoTioN
  • Registratie: Augustus 2001
  • Laatst online: 07-03-2022
Ik heb een formulier met een variable aantal antwoorden -> answer_1 answer_2 etc.

Nu wil ik die antwoorden in een database zetten alleen hoe krijg ik die variablen in php $answer_$i werkt niet had ik ook wel verwacht :) Op php.net staat iets met variabele variables alleen dat lukt me ook niet echt

weet iemand een oplossing ?

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 18:55

gorgi_19

Kruimeltjes zijn weer op :9

Je kan eens in dit topic kijken, volgens mij slaat dit redelijk op jouw probleem

[rml][ PHP]Waarde's passeren in een while loop(je) help[/rml]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • DeVoTioN
  • Registratie: Augustus 2001
  • Laatst online: 07-03-2022
thnx $PTS = ${"pts".$i}; <- da werkt :)

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 22-03 18:12
Je hebt toch wel een vast aantal textboxen op je form? Anders kun je zo iets doen.

PHP:
1
2
3
4
for ($i=1; $i <= 10; $i++)
{
  print "<input type=\"text\" name=\"text_" . $i . "\">";
}


en dan natuurlijk die 10 veranderen in het aantal textboxen die je wilt.

Als je iets anders bedoelt moet je het even wat duidelijker uitleggen.

Trouwens je kan ook dit doen om alles post/get/session vars uit te lezen. Dat is dan op in het bestand wat de resultaten van het formulier verwerkt.

PHP:
1
2
3
4
5
6
7
for ($i=1; $i <= count($HTTP_POST_VARS[]); $i++)
{
  if (!empty($HTTP_POST_VARS[$i]))
  {
    // doe iets
  }
}

Noushka's Magnificent Dream | Unity


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

Ja zou natuurlijk ook met arrays kunnen gaan werken, maar dan schijnen veel mensen te netjes te vinden (<-sarcasme).

Waneer je je input velden var[1] tm var[10] noemt (oid), kun je ze in je script vervolgens uitlezen uit $var[1] tm $var[10] of $var[$i].

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Michali
  • Registratie: Juli 2002
  • Laatst online: 22-03 18:12
Janoz schreef op 29 september 2002 @ 13:33:
Ja zou natuurlijk ook met arrays kunnen gaan werken, maar dan schijnen veel mensen te netjes te vinden (<font size="1"><-sarcasme</font>).

Waneer je je input velden var[1] tm var[10] noemt (oid), kun je ze in je script vervolgens uitlezen uit $var[1] tm $var[10] of $var[$i].
Is dat zo? da wisk nie 1s. das wel erg handig.

Noushka's Magnificent Dream | Unity


  • Ericston
  • Registratie: Maart 2001
  • Laatst online: 05-08 18:36
Janoz schreef op 29 september 2002 @ 13:33:
Ja zou natuurlijk ook met arrays kunnen gaan werken, maar dan schijnen veel mensen te netjes te vinden (<font size="1"><-sarcasme</font>).

Waneer je je input velden var[1] tm var[10] noemt (oid), kun je ze in je script vervolgens uitlezen uit $var[1] tm $var[10] of $var[$i].
Inderdaad ja.

En dan wordt die code van Michali zo.
PHP:
1
2
3
4
5
echo '<form method="get">';
for ($i=0; $i < 10; $i++) {
    print '<input type="text" name="text[' . $i . ']">';
}
echo '<input type="submit"></form>';
En dat lees je dan zo uit.
PHP:
1
2
3
4
$textje = $_GET['text'];
for( $i = 0; $i < 10; $i++ ) {
    echo $textje[$i];
}
(untested) En het werkt ook nog. :)

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 22-03 18:12
Ericston schreef op 29 september 2002 @ 13:43:
[...]
Inderdaad ja.

En dan wordt die code van Michali zo.
PHP:
1
2
3
4
5
echo '<form method="get">';
for ($i=0; $i < 10; $i++) {
    print '<input type="text" name="text[' . $i . ']">';
}
echo '<input type="submit"></form>';
En dat lees je dan zo uit.
PHP:
1
2
3
4
$textje = $_GET['text'];
for( $i = 0; $i < 10; $i++ ) {
    echo $textje[$i];
}
(untested) En het werkt ook nog. :)
lijkt mij niet dat het ook via get werkt? of maakt dat niets uit? En waarom niet met post werken als het kan. Anders krijg je een hele lange adres. Die kan toch ook niet langer dan 256/255 tekens zijn?

edit: Ok het werkt.

Noushka's Magnificent Dream | Unity


  • DeVoTioN
  • Registratie: Augustus 2001
  • Laatst online: 07-03-2022
Het ging om een random aantal text boxen ;) Tis voor een Poll, eerst geef je aan hoeveel antwoorden er zijn en dan krijg je een scherm met dat aantal antwoorden en die slaat ie op in de database.

en dit werkt dus goed -> $var = ${"answer_$aantal"}; en dat in een loopje ;)

  • Ericston
  • Registratie: Maart 2001
  • Laatst online: 05-08 18:36
Michali schreef op 29 september 2002 @ 13:49:
[...]


lijkt mij niet dat het ook via get werkt? of maakt dat niets uit? En waarom niet met post werken als het kan. Anders krijg je een hele lange adres. Die kan toch ook niet langer dan 256/255 tekens zijn?

edit: Ok het werkt.
Het werkt vanzelfsprekend (;)) ook met GET. Dit was gewoon een test, voor hetzelfde had ik ook POST in kunnen vullen. :)
DeVoTioN schreef op 29 september 2002 @ 13:55:
[...]

en dit werkt dus goed -> $var = ${"answer_$aantal"}; en dat in een loopje ;)
Ja, dit werkt. Is het goed, nee. Houdt je data en logica gescheiden.
Alles kan zonder het gebruik van variabele variabelen, daarnaast hebben arrays veel meer functionaliteit.
Stel dat je de waardes van $answer_1 tot en met $answer_10 op wil tellen, dit lukt je nu nooit zo efficient als met arrays.
Pagina: 1