Ben weer eens aan het knutselen met een eind jaren 90 site en kom een JS bugreport
onder Firefox tegen waardoor het geheel aangepast moest worden. Het is een uitlog
script onder php & jquery ajax. Het eerste deel werkt nu, het tweede deel niet.
Het tweede gedeelte & punt waar het om draait.


<?php
session_start();
include("conn.php");
$id = $_SESSION['id'];

$sql = "SELECT id, servtijd, speltijd, nickname FROM spelers";
if($result = mysqli_query($link, $sql)) {
while($rij = mysqli_fetch_array($result)) {

$servje = $rij['servtijd']; //ijkveld
$spelje = $rij['speltijd']; //controleveld

//Controle of velden gelijk zijn, zo nee uitloggen via query 

if ($servje > $spelje) { //Heb zo het idee dat dit een blunder is
                             
$query="UPDATE spelers SET saw = '-',room = '-',enz='..' WHERE id ='$id'";
if(mysqli_query($link, $query)){
header("uitlog.html");
}else {
echo "foutje3" . mysqli_error($link);
      }
    }
  }
mysqli_free_result($result);
}
mysqli_close($link);
?>


Werkt het geheel niet vanwege het gegeven dat je in een while lus met meerdere rijen
werkt? In dat geval zou het logsch zijn. In welke richting moet je de oplossing dan
zoeken?
@Ben van Velzen
Ik heb mijn onleesbare brij naar een leesbaar en werkend iets omgezet op aangeven van de aanwezigen op dit forum, dus?
Heb alleen de oplossing voor het verhaal hier neergezet zodat mocht er iemand hetzelfde probleem tegenkomen hij/zij niet
opnieuw het wiel uit hoeft te vinden.

@Randy vsf
Editor? Daar heb ik me nog nooit aan gewaagd. Ik programmeer source from scratch op een nano onder Linux, het /var/apache/error-log is mijn kompas in deze.




[size=xsmall]Toevoeging op 08/04/2016 15:09:00:[/size]

Doe me een lol en lees nu eens de vraag aan het einde van het verhaal, hoe spreek je dit aan onder een jquery - ajax?
Heb er zelf ook een handje van, lees te snel en plemp maar iets.....
Aangezien het probleem van Yoop nog niet verholpen is, ging ik er maar iets aan doen.
Ik heb even je code omgetoverd tot leesbare code, dit zal de medemensen op dit forum ook helpen..


<?php
session_start();

include "conn.php";

$id = $_SESSION['id'];
$sql = "SELECT id, servtijd, speltijd, nickname FROM spelers";

if ($result = mysqli_query($link, $sql)) {
    while ($rij = mysqli_fetch_array($result)) {

        $servje = $rij['servtijd']; //ijkveld
        $spelje = $rij['speltijd']; //controleveld

        // Controle of velden gelijk zijn, zo nee uitloggen via query
        if ($servje > $spelje) { // Heb zo het idee dat dit een blunder is
            $query = "UPDATE spelers SET saw = '-', room = '-', enz='..' WHERE id ='" . $id . "'";

            if (mysqli_query($link, $query)) {
                header("uitlog.html");
            } else {
                echo "foutje3 " . mysqli_error($link);
            }
        }

    }

	mysqli_free_result($result);
}

mysqli_close($link);

?>


Verder denk ik dat je in je eerste query het id uit de session mee moet geven en niet een while-loop moet gebruiken, zodat je één rij krijgt.

Reageren