Dit ga ik erin zetten! Heel erg bedankt! ???? ('t was een smiley maar kwam niet door de beveiliging ofzo)
Link gekopieerd
Okee, laat even weten of het gelukt is.
Link gekopieerd
Ik loop nu een tijdje vast met deze code:
<?php
session_start();
mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("localhost") or die(mysql_error());
$useridsql = $_SESSION['userid'];
$showed_rules = mysql_query('select showed_rules from users where id="'.$useridsql.'"');
if(isset($showed_rules) == "0") {
if(isset($_SERVER['REQUEST_METHOD']) =="POST") {
mysql_query('UPDATE users SET showed_rules="1" where id="'.$useridsql.'"');
} else {}
?>
<form action="" method="post">
<div class="button">
<button type="submit">Accepteer de spelregels</button>
</div>
</form>
<?php
} else {
?>
Je hebt de regels geacepteerd
<?php
}
?>
phpMyAdmin bij showed_rules:
signup_date showed_rules
1462003806 0
Hij zegt dat ik de spelregels al heb geacepteerd.
Wat is er fout?, ikzelf doe niet veel grote dingen in php, het bestaat (bijna) alleen maar uit echo.
Alvast bedankt!
Link gekopieerd
Je moet de waarde van je SELECT-query nog fetchen. Verder raad ik MySQLi als driver aan.
Link gekopieerd
Ik heb PHP ergens in de 5.3 volgensmij bestaat dat daarvoor nog niet maar ik heb nu:
<?php
session_start();
mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("localhost") or die(mysql_error());
$useridsql = $_SESSION['userid'];
$showed_rules = mysql_query('select showed_rules from users where id="'.$useridsql.'"');
while ($row = mysql_fetch_array($showed_rules)) {
printf("rules: %s<br>", $row[0]);
}
if(isset($showed_rules) == "0") {
if(isset($_SERVER['REQUEST_METHOD']) =="POST") {
mysql_query('UPDATE users SET showed_rules="1" where id="'.$useridsql.'"');
} else {}
?>
<form action="" method="post">
<div class="button">
<button type="submit">Accepteer de spelregels</button>
</div>
</form>
<?php
} else {
?>
Je hebt de regels geacepteerd<br>
<?php
}
?>
nu komt er bij rules: 0 te staan maar er staat nog steeds Je hebt de regels geacepteerd. Ik denk dat dit komt omdat ik die regels van
if(isset($showed_rules) == "0") en meer niet in die fetch heb gezet.
Dit staat er nu op mijn pagina
rules: 0
Je hebt de regels geacepteerd
Link gekopieerd
Stap liever over op MySQLi. De MySQL-driver is over een paar jaar echt uitgestorven.
Verder is een while-loop onnodig. Je haalt maar één record op.
Ook raad ik aan om je script netjes uit te lijnen. Nu is het behoorlijk een onleesbare spaghetti.
Link gekopieerd
Maar als ik overstap naar MySQLi dan moet ik alles opnieuw doen.
momentele code:
<?php
session_start();
mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("localhost") or die(mysql_error());
$useridsql = $_SESSION['userid'];
$showed_rules = mysql_query('select showed_rules from users where id="'.$useridsql.'"');
while ($row = mysql_fetch_array($showed_rules)) {
printf("rules: %s", $row[0]);
if($row[0] == "0") {
if(isset($_SERVER['REQUEST_METHOD']) =="POST") {
mysql_query('UPDATE users SET showed_rules="1" where id="'.$useridsql.'"');
} else {}
?>
<form action="" method="post">
<div class="button">
<button type="submit">Accepteer de spelregels</button>
</div>
</form>
<?php
} else {
?>
Je hebt de regels geacepteerd<br>
<?php
}
}
?>
dit werkt maar mijn website geeft de volgende output:
rules: 0
Â
   Accepteer de spelregels Â
(p.s geen [/code] tags gebruikt omdat hij anders die  niet weergeeft)
en als ik mijn pagina reload dan gaat hij automatisch van 0 naar 1
Link gekopieerd
Lijn 10 is niet echt de manier zoals ik liet zien. En zie verder mijn vorige post.
Nu kan je nog makkelijk naar MySQLi toe. Als je uitstelt wordt de weg veel langer. En ik denk dat je niet staat te wachten op een 'gebroken' script straks?
Link gekopieerd
En als ik MySQLi wil gebruiken moet ik (volgensmij) ook automatisch naar PHP 5.5 of hoger,
ik heb al aardig wat van mijn spel in PHP die af is en dat moet ik volgensmij ook deels aanpassen want dan krijg je iets van:
$functie -> $deel.
Dat wordt een grote klus als ik dat ga doen...
Foutje... MySQLi is er ook al voor PHP 5.3
Link gekopieerd
Als je met $mysqli->query() structuren gaat werken, dan heb je het over Object Oriënteerde opbouw. Je kan ook de procedurele techniek gebruiken waarop ook de verouderde mysql-driver op gebaseerd is.
Link gekopieerd