Hallo alle php developpers,
Ik ben overgegaan van een gratis server naar een betaalde. Dit hield ook in dat ik een nieuwere php versie erbij krijg.
Echter waar ik eerst een mooie pagina had met div's en een stukje twitter en laatste nieuws, heb ik nu slechts buiten de header een lege pagina:
http://prntscr.com/69ne7x

Tevens staat in de header
 include ('Statusbalk.php'); 
maar deze valt onder de header zoals je kan zien.
Ik wil voor ik heel mijn code plakken zeggen dat de *** de gegevens van database zijn die ik hier natuurlijk niet plaats, en de reden dat ik niet met mysqli werk is dat ik me er nog niet in verdiept heb dus dat tot nog toe alleen errors geeft ipv werkt.




<?php
session_start(); 

// Controleren of de bezoeker ingelogd is 
if(!isset($_SESSION['logged_in']) || $_SESSION['logged_in'] == false) 
{ 
    header('Location: login_form.php'); 
    exit(); 
} 

	$ip = getenv("REMOTE_ADDR") ; 

	require_once ('connect.php');

	
	$username = $_SESSION['gebruiker'];
	
	$sql = "UPDATE Accounts SET ip='$ip' WHERE naam='$username'";
	
	mysql_query($sql);

$result = mysql_query("select id from bans where ip='".$_SERVER['REMOTE_ADDR']."' ");
$num = mysql_num_rows($result);
if($num > 0){ die(header("Location: http://garagesimulator.nl//banerror.html")); 
}
	
?>


<html>

	<head>
<title>Homepage</title>
<header>
			<div style="height: 10%; width: 50%; left: 25%; text-align: center; position: absolute;">
<h1>Homepage</h1>

Voor nieuwtjes weetjes en informatie en nog veel meer....
</div>

<?php

session_start(); // zorg ervoor dat session_start ALTIJD bovenaan ALLES van je pagina staat, anders werkt het niet!
			include ('menu.html');

		

		$username = $_SESSION['gebruiker'];
		
		$sql = "SELECT * FROM Accounts where naam='$username'";
		$result = mysql_query($sql);

		while($row = mysql_fetch_array($result)) {
		$naam = $row  ['naam'];
		$xp = $row ['xp'];
		$geld = $row ['geld'];
		$info = $row ['zelfinfo'];
		$vipdagen = $row ['vipdagen'];
		$credits = $row ['credits'];
		$bevoegdheid = $row ['bevoegdheid'];
		}
		$result = mysql_query("select id from bans where ip='".$_SERVER['REMOTE_ADDR']."' ");
$num = mysql_num_rows($result);
if($num > 0){ die(header("Location: http://garagesimulator.nl//banerror.html")); 
}
	exit ();	
		
		?>


</header>
</head>

<div id="indexl">
<div id="vip">
<h3><font color="red">VIP mededeling</font></h3>
<?	$accounts = mysql_connect("****", "****", "*****") 
or die(mysql_error());

mysql_select_db("*****", $accounts);

$username = $_SESSION['gebruiker'];

$sql = "SELECT * FROM Accounts where naam='$username'";
$result = mysql_query($sql, $accounts);

while($row = mysql_fetch_array($result)) {
$naam = $row ['naam'];
$xp = $row ['xp'];
$geld = $row ['geld'];
$info = $row ['zelfinfo'];
$monteur = $row ['monteur'];
$vipdagen = $row ['vipdagen'];
}


if ($vipdagen >'0' and $vipdagen <'5' or $vipdagen == '5' ) {
echo "'<b>'Je vipaccount loopt bijna af overweeg deze te verlegen. Dir is niet verplicht wel vervallen alle extra auto's , gereedschappen en extra functies in het spel.'</b>'";}
elseif ($vipdagen > '5') { echo "Je kunt nog $vipdagen dagen genieten van de extra functies in het spel" ;}
elseif ($vipdagen == '0'){ echo "momenteel heb je geen vip-account!";}
else {
echo "geen VIP-account";}
?>
<h4>klik <a href="#">hier </a> om je VIP account te verlengen!</h4>
</div>

<div id="nieuwskort">
<?


function ubb($string) {
    $string = stripslashes($string);
    $string = htmlspecialchars($string);
    $string = nl2br($string);
    $string = preg_replace("#\[b\](.+?)\[/b\]#is", "<b>\\1</b>", $string); // [b][/b] -> <b></b>
    $string = preg_replace("#\[i\](.+?)\[/i\]#is", "<i>\\1</i>", $string); // [b][/b] -> <b></b>
    $string = preg_replace("#\[s\](.+?)\[/s\]#is", "<s>\\1</s>", $string); // [b][/b] -> <b></b>
    $string = preg_replace("#\[u\](.+?)\[/u\]#is", "<u>\\1</u>", $string); // [b][/b] -> <b></b>
    
    return $string;
}
	
    echo '<h3><font color="red">LAATSTE NIEUWS</font></h3>';
    $sql = mysql_query("SELECT * FROM updates ORDER BY id DESC LIMIT 1");
    if (mysql_num_rows($sql) == 0) {
        echo 'Er zijn nog geen updates!';
    } else {
        while($data = mysql_fetch_assoc($sql)) {
            echo '<b>'.htmlspecialchars(stripslashes($data['titel'])).'</b><br>';
                        echo ubb($data['bericht']).'</i><br><br>';
  echo '<i>'.htmlspecialchars(stripslashes($data['datum'])).'<br><br>';

          
        }
    }
echo 'lees <a href="garagesimulator.nl/nieuws2.php">hier</a> meer';

?>

</div>
</div>

<div id="welkom">
<?

	$sql = "SELECT * FROM Accounts where naam='$username'";
		$result = mysql_query($sql);

		while($row = mysql_fetch_array($result)) {
		$naam = $row  ['naam'];
		$garage = $row  ['garage'];		
		}
echo '<b><h3>Welkom terug  bij '.$garage.' '.$naam.',<br>  je mensen wachten op je in de garage.</h3></b>'; ?>

</div>
<div id="twitt">
<a class="twitter-timeline" href="https://twitter.com/garagesim" data-widget-id="565980094406344704">Tweets door @garagesim</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>

</div>

</html>






Hoop dat jullie mij meer kunnen vertellen
Prospere Gaming op 25/02/2015 15:33:59

de reden dat ik niet met mysqli werk is dat ik me er nog niet in verdiept heb dus dat tot nog toe alleen errors geeft ipv werkt.

Dus je gaat alles 2x doen? ;)
Zo moeilijk is het omzetten van mysql naar mysqli niet.

Ten aanzien van je code:
Waarom maak je variabelen als $ip en $username aan (regel 11/ 16 / 48)?
Wat is het nut van regel 16 en 48? Gebeurt hetzelfde?!
Ik mis foutafhandeling bij je query (o.a. regel 20 / 51).
In de head plaats je al een header (regel 34 e.v.). Volgens mij hoort dat daar niet (maar in de body (en die mist dan weer)).
Inline opmaak (/css) is niet meer echt van deze tijd (o.a. regel 35).
Waarom een while-lus (regel 53)? Als het goed is levert de query maar 1 resultaat op. En ook het aanmaken van de variabelen op de regels 54-60 is niet nodig.
Waarom is er verschil tussen hoe je programmeert op regel 50+51 en 62?
Denk overigens dat ik de query op regel 62 (en de volgende regels) naar boven zou halen (op regel 11 maak je al een variabele $ip aan).
Op regel 98 plaats je tekst via echo, een paar regels later sluit je PHP af om HTML output te genereren. Mij lijkt uniformiteit overzichtelijker.
Begrijp niet goed waarom je op regel 98 "' hebt staan.
Dit script deugt van geen kant. als jou game online komt is die binnen 10 minuten offline door hackers.
mysql = Oud gebruik dit niet maak er mysqli van het overzetten kost hooguit een half uurtje.

Je gebruik verder direct input in een database.
Stel ik kan ergens iets invullen dat gebruik maakt van je database dan hoef ik alleen dit te doen.


<?php
$sql = "UPDATE Accounts SET ip='$ip' WHERE naam='$username'";
mysql_query($sql);
?>

Enigste dat ik moet doen is.
in de input invullen :

<?php
); mysql_query("DROP TABLE `accounts`"
?>
ik hoef het niet af te sluiten ); want dat doet jou script al.

als ik dit invul dan verwijder ik gelijk al je gebruikers.

Reageren