Account aanvullen systeem

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ventilatiesysteem Productontwikkelaar HBO WO Verwa

Samengevat: Zij bieden flexibele ventilatiematerialen, geluidsdempers, rookgasafvoer producten en industrieslangen. Ben jij een technisch productontwikkelaar? Heb jij ervaring met het ontwikkelen van nieuwe producten? Vaste baan: Technisch Productontwikkelaar HBO WO €3.000 - €4.000 Zij bieden een variëteit aan flexibele ventilatiematerialen, geluiddempers, rookgasafvoer producten, industrieslangen en ventilatieslangen voor de scheepsbouw. Met slimme en innovatieve materialen zorgen wij voor een gezonde en frisse leefomgeving. Deze werkgever is een organisatie die volop in ontwikkeling is met hardwerkende collega's. Dit geeft goede ontwikkelingsmogelijkheden. De branche van dit bedrijf is Techniek en Engineering. Functie: Voor de vacature als Technisch Productontwikkelaar Ede Gld HBO WO ga

Bekijk vacature »

Kristof Hendrickx

Kristof Hendrickx

16/06/2014 14:19:38
Quote Anchor link
Hallo,
ik zou een systeem willen maken waarbij spelers na het registreren bij de eerste maal dat ze inloggen hun account verder moeten aanvullen, echter geeft mijn browser dat ik een oneindige lus maak, hoewel ik dit voorkom met een varriabele i die ik 1 of 2 maak op de desbetreffende pagina's.

De code waar het probleem in zit:
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
$user_id = $_SESSION['user_id'];
$sql = 'SELECT eerstehond FROM memberinfo WHERE user_id="'.$user_id.'"';
$result = mysqli_query($mysqli, $sql) OR die('Er liep iets mis, probeer later opnieuw!');
if(mysqli_num_rows($result) == 0 && $i |= 1)
{
  header('Location: account.php');    

}
elseif($i == 1)
{
  header('Location: index.php');    
}
else
{
  while($row = mysqli_fetch_assoc($result))
  {
    if($row['eerstehond'] == 0 && $i |= 2)
    {
      header('Location: firstdog.php');  
    }
    elseif($i == 2)
    {
      header('Location: index.php');
    }
  }
}

Dus, op de pagina account.php zet ik voor de include $i = 1; en op de pagina forstdog.php zet ik voor de include $i = 2, op alle andere paginas zet ik $i = 0;

Waarom ziet de browser dit toch als een omleidingslus en hoe kan ik dit oplossen?
 
PHP hulp

PHP hulp

16/04/2024 11:18:16
 
NOLot -

NOLot -

16/06/2014 15:03:18
Quote Anchor link
Ik zie zowieso een
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$i |= 2
moet dit niet
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$i != 2
zijn? Verder is het handig om na een header[location] een exit() te plaatsen. Dit zorgt ervoor dat de rest van de code niet uitgevoerd wordt.
 
Kristof Hendrickx

Kristof Hendrickx

16/06/2014 15:05:52
Quote Anchor link
ik dacht dat php geen verschil miek in | of !, maar zal de aanpassing doen.
Na de header location code moet volgens u dus gewoon exit(); ?

Ik pas het aan en geef weer of het helpt ;)

Toevoeging op 16/06/2014 15:08:36:

Kristof Hendrickx op 16/06/2014 15:05:52:
ik dacht dat php geen verschil miek in | of !, maar zal de aanpassing doen.
Na de header location code moet volgens u dus gewoon exit(); ?

Ik pas het aan en geef weer of het helpt ;)


Nu is de code volgende:
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
$user_id = $_SESSION['user_id'];
$sql = 'SELECT eerstehond FROM memberinfo WHERE user_id="'.$user_id.'"';
$result = mysqli_query($mysqli, $sql) OR die('Er liep iets mis, probeer later opnieuw!');
if(mysqli_num_rows($result) == 0 && $i != 1)
{
  header('Location: account.php');
  exit();  

}
elseif($i == 1)
{
  header('Location: index.php');
  exit();  
}
else
{
  while($row = mysqli_fetch_assoc($result))
  {
    if($row['eerstehond'] == 0 && $i != 2)
    {
      header('Location: firstdog.php');
      exit();  
    }
    elseif($i == 2)
    {
      header('Location: index.php');
      exit();
    }
  }
}

Helaas, het hielp niet.
ps: ik zie wel dat hij de fout pas meld als hij op de pagina account.php komt ($i=1 staat wel degelijk op de pagina)
 
NOLot -

NOLot -

16/06/2014 15:09:21
Quote Anchor link
Zou het kunnen dat de fout in de account.php file zit? Van welke file is de bovenstaande code precies?
 
Kristof Hendrickx

Kristof Hendrickx

16/06/2014 15:10:42
Quote Anchor link
de bovenstaande code komt van header.php, deze zet ik met een include bij op alle paginas, zo ook op account.php, het enige wat hier nog voor staat is $i=1
Voor de rest staat op deze pagina gewoon een tabel.
Gewijzigd op 16/06/2014 15:10:55 door Kristof Hendrickx
 
NOLot -

NOLot -

16/06/2014 15:20:00
Quote Anchor link
Dit is erg weinig info om mee verder te gaan om eerlijk te zijn. Als hij een oneindige lus maakt op account.php zou dat dus betekenen dat
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
if(mysqli_num_rows($result) == 0 && $i != 1)
waar moet zijn, elke keer dat je op de pagina komt. Kun je eens kijken in welk blok je code precies terecht komt (de if, de elseif of de else)?
 
Kristof Hendrickx

Kristof Hendrickx

16/06/2014 15:53:59
Quote Anchor link
Ik zie de fout ondertussen al

de fout zit in de elseif, daar zeg ik dat als i 1 is hij moet terugkeren naar de indexpagina terwijl hij van de indexpagina komt, hierbij moest de voorwaarde nog mij dat mysqli_num_row niet 0 is
 



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.