PDA

Bekijk Volledige Versie : [PHP] Vullen, weergeven en vergelijken inhoud van Array.



Robert van de Vijver
22/02/05, 20:45
Hallo allemaal,

Ik heb het volgde script:


<?
$vote_ids = array();



if (isset($_POST['vote_id'])){
array_push($vote_ids, $_POST['vote_id']); //0
print_r($vote_ids);
}

if (isset($_POST['vote_value']) && (in_array($id, $vote_ids))){
.....
}

?>

Maar bij 0 stopt hij alleen de waarde in de array die bij de push word
opgegeven. Elke waarde die je daarna bij de push erin doet overschrijft de
eerdere waarde. Dus dan krijg je als inhoud bv. Array ( [0] => 2 ) en dan
als ik nog een keer Submit, Array ( [0] => 5 ) ipv Array ( [0] => 2 [1] =>
5 ).

Of komt het misschien door het submitten, dat de array dan weer leeg is? :-S


Iemand enig idee?

Mvg,

Robert.

Erick T. Barkhuis
22/02/05, 20:55
Robert van de Vijver [on Tue, 22 Feb 2005 20:44:58 +0100] wrote:

> <?
> $vote_ids = array();

['push()' bij meerdere submits]

> Of komt het misschien door het submitten, dat de array dan weer leeg is? :-S

Inderdaad. Telkens als het script wordt doorlopen maak je de array opnieuw
aan, en is-ie dus leeg. Een script kan geen status van een array
vasthouden. Ga maar na wat zo'n script zou moeten doen wanneer het
meerdere keren, door verschillende bezoekers, wordt aangeroepen.

De oplossing is om de inhoud van het array ergens vast te houden. Dat kan
met sessies, of door de gegevens persistent te maken, bijvoorbeeld in een
bstand of database.

--
Erick

Robert van de Vijver
22/02/05, 21:05
"Erick T. Barkhuis" <spamblok@webwax.nl> schreef in bericht
news:MPG.1c85abc63abf5699989953@news.individual.de ...
> Robert van de Vijver [on Tue, 22 Feb 2005 20:44:58 +0100] wrote:
>
>> <?
>> $vote_ids = array();
>
> ['push()' bij meerdere submits]

Wat bedoel je met de vovenstaande regel?


>> Of komt het misschien door het submitten, dat de array dan weer leeg is?
>> :-S
>
> Inderdaad. Telkens als het script wordt doorlopen maak je de array opnieuw
> aan, en is-ie dus leeg. Een script kan geen status van een array
> vasthouden. Ga maar na wat zo'n script zou moeten doen wanneer het
> meerdere keren, door verschillende bezoekers, wordt aangeroepen.
>
> De oplossing is om de inhoud van het array ergens vast te houden. Dat kan
> met sessies, of door de gegevens persistent te maken, bijvoorbeeld in een
> bstand of database.

Dan moet ik dus net met de dingen gaan werken waar ik geen kaas van heb
gegeten :-s (excl.database, maar dat lijkt me net even te zwaar voor een
arraytje)

Daniel Tryba
22/02/05, 21:15
Robert van de Vijver <robert101083@hotmail.com> wrote:
>> De oplossing is om de inhoud van het array ergens vast te houden. Dat kan
>> met sessies, of door de gegevens persistent te maken, bijvoorbeeld in een
>> bstand of database.
>
> Dan moet ik dus net met de dingen gaan werken waar ik geen kaas van heb
> gegeten :-s (excl.database, maar dat lijkt me net even te zwaar voor een
> arraytje)

Een databse is hier juist uitermate geschikt voor (om de gegevens op te
slaan, niet het array uiteraard).

Erick T. Barkhuis
22/02/05, 21:25
Robert van de Vijver [on Tue, 22 Feb 2005 21:01:16 +0100] wrote:
>
> "Erick T. Barkhuis" <spamblok@webwax.nl> schreef in bericht
> news:MPG.1c85abc63abf5699989953@news.individual.de ...
> > Robert van de Vijver [on Tue, 22 Feb 2005 20:44:58 +0100] wrote:
> >
> >> <?
> >> $vote_ids = array();
> >
> > ['push()' bij meerdere submits]
>
> Wat bedoel je met de vovenstaande regel?

Dat is een poging tot uiterst korte samenvatting. Normaliter op Usenet
knip je weg waar je niet op reageert, of vat je het even samen. Daarin ben
ik nu wellicht wat doorgeschoten. :-)

> > De oplossing is om de inhoud van het array ergens vast te houden. Dat kan
> > met sessies, of door de gegevens persistent te maken, bijvoorbeeld in een
> > bestand of database.
>
> Dan moet ik dus net met de dingen gaan werken waar ik geen kaas van heb
> gegeten :-s (excl.database, maar dat lijkt me net even te zwaar voor een
> arraytje)

Maar dan kun je er toch wel kaas van _krijgen_ door een beetje te spitten
in de documentatie? Kijk in de manual eens onder 'sessions' en zie of het
je verder helpt.

Je bent toch ook niet met arrays geboren?

--
Erick

"A man thinks that by mouthing hard words he understands hard things." - Herman Melville

Robert van de Vijver
22/02/05, 21:35
"Erick T. Barkhuis" <spamblok@webwax.nl> schreef in bericht
news:MPG.1c85b17f6ed05808989954@news.individual.de ...
> Robert van de Vijver [on Tue, 22 Feb 2005 21:01:16 +0100] wrote:
>>
>> "Erick T. Barkhuis" <spamblok@webwax.nl> schreef in bericht
>> news:MPG.1c85abc63abf5699989953@news.individual.de ...
>> > Robert van de Vijver [on Tue, 22 Feb 2005 20:44:58 +0100] wrote:
>> >
>> >> <?
>> >> $vote_ids = array();
>> >
>> > ['push()' bij meerdere submits]
>>
>> Wat bedoel je met de bovenstaande regel?
>
> Dat is een poging tot uiterst korte samenvatting. Normaliter op Usenet
> knip je weg waar je niet op reageert, of vat je het even samen. Daarin ben
> ik nu wellicht wat doorgeschoten. :-)
>

Nou weet ik nog niet wat je met die regel bedoelt :-)

>
> Maar dan kun je er toch wel kaas van _krijgen_ door een beetje te spitten
> in de documentatie? Kijk in de manual eens onder 'sessions' en zie of het
> je verder helpt.
>
> Je bent toch ook niet met arrays geboren?
>

Uhhh :-)