Toon posts:

Php: session problemen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb op mijn site verschillende foto's staan, waarop gestemd kan worden. Wat ik nu wil is dat een bezoeker per sessie maar één keer per foto kan stemmen. Ik heb voor het stemmen de volgende functie geschreven, maar het probleem is nu als er eenmaal gestemd is, kan er op geen enekele andere foto meer worden gestemd. Ik zie de oplossing niet, alles is welkom.
code:
1
2
3
4
5
6
7
8
9
10
function verwerkStem($foto_id, $cijfer){ 
    session_start();
    if (session_is_registered('foto_id')) {
        error("Je hebt al gestemd op deze foto!");
        exit;       
    } else {    
        werk de database bij(niet belangrijk);
        session_register('foto_id');
    }
}


foto_id is de id van de foto waarop wordt gestemd.

Verwijderd

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
function verwerkStem($foto_id, $cijfer)
{ 
session_start();
if (isset($_SESSION[$foto_id])) 
{
   error("Je hebt al gestemd op deze foto!");
   exit;        
} else {    
  werk de database bij(niet belangrijk);
  $_SESSION[$foto_id] = true;
}
}


Zoiets?

  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
ja het gedrag van je script stemt exact overeen met wat er staat dattie moet doen. je hebt maar 1 sessievariable 'foto_id' die steeds een andere waarde aanneemt. Ik zou van die variabele een array maken, en dan in_array($foto_id, $_SESSION['foto_id']) om te checken of ie al gezet is en $_SESSION['foto_id'][] = $foto_id om ze te zetten, of het kan natuurlijk ook anders: isset($_SESSION['foto_id'][$foto_id]) resp. $SESSION['foto_id'][$foto_id] =TRUE. Een iets logischer sessievariabelenaam zou in bedie gevallen ook wel op z'n plaats zijn, zoals 'foto_ids' :P

Verwijderd

Genoil schreef op 04 november 2002 @ 23:45:
of het kan natuurlijk ook anders: isset($_SESSION['foto_id'][$foto_id]) resp. $SESSION['foto_id'][$foto_id] =TRUE. Een iets logischer sessievariabelenaam zou in bedie gevallen ook wel op z'n plaats zijn, zoals 'foto_ids' :P
Het zelfde als dat van mij maar dan nog een stukje complexer dus?

Moah... zou ik niet doen.... doe dan desnoods

$_SESSION['foto_'.$foto_id] ofzo...

maar om er nou een 2 demensionale array van te maken?!

Verwijderd

Topicstarter
Oke, hier kan wel wat mee, bedankt!

  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
Verwijderd schreef op 04 november 2002 @ 23:54:
[...]


Het zelfde als dat van mij maar dan nog een stukje complexer dus?

Moah... zou ik niet doen.... doe dan desnoods

$_SESSION['foto_'.$foto_id] ofzo...

maar om er nou een 2 demensionale array van te maken?!
mja als in jouw voorbeeld nou $foto_id = 3, krijg je in principe een variabele $3 = TRUE...beetje raar (als het uberhaupt al 'mag'). Voorbeeld dat je nu aandraagt is stukken beter, en idd iets minder complex (doch imho een beetje rommelig). Maar die van mij is gewoon een 1-dim array, tsja op session niveau 2-dim, maar ja ik zie een superglobal nou niet echt als een array op zich ofzo...
Pagina: 1