Hallo,

Ik ben sinds enige tijd als amateur - beginner bezig met het maken van php-scripts. Maar nu komt er iedere keer bij mijn script een fout 500:
Aan deze website wordt gewerkt.
De website bevat een programmeerfout.

Ik kom er echt niet meer uit.

Mijn script:
<?php
//script om de bezoekers van de laatste ? minuten te tonen
//Copyright Rogier Nell 2009 - [email protected]

//stel hier je onlinetijd in (hele getalllen)
$onlinetijd = 5;

//stel hier je boodschap in, als er niemand online is
$berichtgeenonline = "Er is niemand online";

//stel hier je boodschap in, als er geen lijst kan worden weergegeven
$kannietweergeven = "Er kan geen lijst worden weergegeven";

//stel hier de MySQL-gegevens in:
$server = "sql110.byethost24.com";
$dbusername = "";
$dbpassword = "";
$dbname ="";
$tablename ="";

//hieronder niets meer veranderen!
//connection to database
$connection = @mysql_connect($server, $dbusername, $dbpassword)
or die(mysql_error());

$db = @mysql_select_db($dbname,$connection)
or die(mysql_error());

$sql = "SELECT * FROM $tablename";

$result = @mysql_query($sql, $connection) or die(mysql_error());


//geef het aantal rijen
$num = mysql_num_rows($result);

//maak variablen, als er rijen zijn
if ($num != 0)
{
while ($sql = mysql_fetch_object($result))
{
$_SESSION[user_name] = $sql -> username;
$_SESSION[time] = $sql -> time;
$_SESSION[date] = $sql -> date;

}
}else{
echo $berichtgeenonline;
}
}

//Variabelen aanmaken
$datdate = $_SESSION[date];
$dattime = $_SESSION[time];
$dathour = substr($databasetime, 0, 2);
$datminute = substr($databasetime, 3, 2);
$datenow = gmdate("Y-m-d");
$hournow = gmdate("H");
$minutenow = gmdate("i");
$loginminutes = $minutenow - $onlinetijd

//Maak een array van leden online en geef deze weer (als er leden online zijn)
if ($datdate == $datenow ) and $dathour == $hournow and $datminute >= $loginminutes
{
while($row = mysql_fetch_array($result))
{
echo $row['username']. " - ". $row['time'];
echo "<br />";
}
}else
{
echo $kannietweergeven;
}

?>



Misschien kan iemand mij helpen?
Kijk naar de kleurtjes.

Regel 29 mist een ".

@-jes horen niet echt thuis in een script.
Edit je post en haal je logingegevens even weg.

Edit: Zet dit bovenin je script.
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);

// rest
?>
Ik heb het geprobeerd, maar ik blijf de 500-melding behouden.
Bij de @-tjes heb ik nu mysqli.

Bedankt,

Rogier.
Staan de rechten wel goed?
Ik neem aan van wel, alle andere scripts (niet van mij) draaien er wel goed op
Ik neem aan van wel, alle andere scripts (niet van mij) draaien er wel goed op
Is bovenstaand script nog steeds actueel of heb je het al opgelost.. of heb je hem al teveel verranderd ?
Marco schreef op 13.07.2009 11:10
Is bovenstaand script nog steeds actueel of heb je het al opgelost.. of heb je hem al teveel verranderd ?


Bovenstaande is met @

Deze is met Mysqli:
<?php
//stel hier je onlinetijd in (hele getalllen)
$onlinetijd = 5;

//stel hier je boodschap in, als er niemand online is
$berichtgeenonline = "Er is niemand online";

//stel hier je boodschap in, als er geen lijst kan worden weergegeven
$kannietweergeven = "Er kan geen lijst worden weergegeven";

//stel hier de MySQL-gegevens in:
$server = "";
$dbusername = "";
$dbpassword = "";
$dbname ="";
$tablename ="";

//connection to database
$connection = mysqli_connect($server, $dbusername, $dbpassword)
or die(mysql_error());

$db = mysqli_select_db($dbname,$connection)
or die(mysql_error());

$sql = "SELECT * FROM $tablename";

$result = mysqli_query($sql, $connection) or die(mysql_error());


//geef het aantal rijen
$num = mysql_num_rows($result);

//maak variablen, als er rijen zijn
if ($num != 0)
{
while ($sql = mysql_fetch_object($result))
{
$_SESSION[user_name] = $sql -> username;
$_SESSION[time] = $sql -> time;
$_SESSION[date] = $sql -> date;

}
}else{
echo $berichtgeenonline;
}
}

//Variabelen aanmaken
$datdate = $_SESSION[date];
$dattime = $_SESSION[time];
$dathour = substr($databasetime, 0, 2);
$datminute = substr($databasetime, 3, 2);
$datenow = gmdate("Y-m-d");
$hournow = gmdate("H");
$minutenow = gmdate("i");
$loginminutes = $minutenow - $onlinetijd

//Maak een array van leden online en geef deze weer (als er leden online zijn)
if ($datdate == $datenow ) and $dathour == $hournow and $datminute >= $loginminutes
{
while($row = mysql_fetch_array($result))
{
echo $row['username']. " - ". $row['time'];
echo "<br />";
}
}else
{
echo $kannietweergeven;
}

?>



Oke dan..

Op regel 56 mis je een ; op het eind...
en op regel 59 is je IF structuur niet compleet... want je sluit hem niet correct af....
Bedankt

Op WAMP kan ik hem wel zien, maar krijg ook de error van de if,
Hoe kan ik dat oplossen?
if ((($datdate == $datenow ) and ($dathour == $hournow)) and ($datminute >= $loginminutes))

dat blijkt ook niet te werken.

Bedankt
Dat doen je zo:

<?PHP
if (($datdate == $datenow) and ($dathour == $hournow) and ($datminute >= $loginminutes))

?>

Reageren