Ik ben bezig met een site, heb al een inlog & registreer-systeem.
Toch krijg ik het niet voor elkaar om een dingetje te maken dat weergeeft: "Ingelogd als (naam gebruiker)"

Hij weergeeft de code namelijk als tekst op de site.
Bovenaan de code staat gewoon:
<?php
session_start();
?>


is de code.

Omderaan die code
<?php
if ( isset($_SESSION['logIn']) ) {
echo "<!DOCTYPE html>
<body>
<div class=´container´>
<p> Je bent ingelogd als:</p> <?php echo $_SESSION['username']?>
</div>";
}
else {
echo "<!DOCTYPE html>
<body>

<div class=´container´>
<p> je bent niet ingelogd</p>
</div>";
}
mysqli_close($con);
?>
het gedeelte waar ik op doel. Het gedeelte dat de naam van de gebruiker moet laten zien.
Waarom echo je alles? je hoeft alleen maar de relevante delen te echo'en.

Daarnaast herhaal je HTML-code, wat ook onnodig is.

En zoals je in de code highlighting hierboven al kunt zien staat er PHP-code in een tekst-string (gebruik je geen editor die je PHP een kleurtje geeft?).

Is dit trouwens je hele HTML-document? Waar is je html / head tag? Waar sluit je je body / html af?

Attributen van HTML-tags moeten te allen tijde tussen "dubbele quotes" worden geschreven.

Tot slot escape je (user)output niet. Dat is potentieel ook gevaarlijk.

Er vanuitgaande dat je UTF-8 als character encoding voor je document gebruikt kun je bovenstaande code verkorten tot het volgende, los van die hele niet-kloppende-HTML-document-opbouw santekraam:

<div class="container">
    <p><?php
    if (isset($_SESSION['logIn'])) {
        ?>Je bent ingelogd als: <?php echo htmlspecialchars($_SESSION['username'], ENT_QUOTES, 'UTF-8') ?><?php
    } else {
        ?>Je bent niet ingelogd.<?php
    }
    ?></p>
</div>
Ik heb het geprobeerd met jouw code alleen dan geeft hij automatisch aan dat ik niet ingelogd ben, al ben ik het wel.

De code in het plaatje is mijn Checklogin code.
We hebben ook code-tags om je code op kwijt te kunnen.
Verder hoort "true" niet tussen quotes op lijn nummertje... euh..... bijna onderaan.
En die code tags zijn?
 ?

[size=xsmall][i]Toevoeging op 26/01/2015 20:18:21:[/i][/size]

[code]<!DOCTYPE html>
<html lang="en">
<?php
    session_start();   
?>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="">
    <meta name="author" content="">
    <title>Home - FIFA Holland</title>
    <!-- Bootstrap Core CSS -->
    <link href="css/bootstrap.min.css" rel="stylesheet">
    <!-- Custom CSS -->
    <link href="css/shop-item.css" rel="stylesheet">
    <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
    <!--[if lt IE 9]>
        <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
        <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
    <![endif]-->
</head>
<body>
    <!-- Navigation -->
    <nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
        <div class="container">
            <!-- Brand and toggle get grouped for better mobile display -->
            <div class="navbar-header">
                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
                    <span class="sr-only">navigation</span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>
                <a class="navbar-brand" href="index.html"><img src="FHFIFA.png" height="35"/></a class>

            </div>
            <!-- Collect the nav links, forms, and other content for toggling -->
            <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
                <ul class="nav navbar-nav">
                    <li>
                        <a href="#">Forum</a>
                    </li>
                    <li>
                        <a href="#">Services</a>
                    </li>
                    <li>
                        <a href="#">Contact</a>
                    </li>
                </ul>
            </div>
            <!-- /.navbar-collapse -->
        </div>
        <!-- /.container -->
    </nav>
    <!-- Page Content -->
    <div class="container">
        <div class="row">
            <div class="col-md-3">
				<p class="lead">FIFA Algemeen</p>
                <div class="list-group">
					<a href="#" class="list-group-item active">Home</a>
                    <a href="AlgNieuws.php" class="list-group-item"  style="background-color: lightgray">Nieuws</a>
                </div>
                <p class="lead">FIFA 15</p>
                <div class="list-group">
                    <a href="fifa15.php" class="list-group-item" style="background-color: lightgray">Nieuws</a>
                    <a href="Fifa15Nieuws.php" class="list-group-item"  style="background-color: lightgray">Online Poule</a>
                </div>
				<p class="lead">FIFA 14</p>
                <div class="list-group">
                    <a href="Fifa14.php" class="list-group-item"  style="background-color: lightgray">Nieuws</a>
                    <a href="Fifa14Nieuws.php" class="list-group-item"  style="background-color: lightgray">Online Poule</a>
                </div>
				<p class="lead">FH Account<p>
                <div class="list-group">
                    <a href="FHRegistreren.php" class="list-group-item"  style="background-color: lightgray">Registreren</a>
                    <a href="FHLogin.php" class="list-group-item"  style="background-color: lightgray">Inloggen</a>
                </div>
            </div>
            <div class="col-md-9">
                <div class="thumbnail">
                    <a class="img"><img src="FHfifa2.png" height="130"/></a class>
                    <div class="caption-full">
                        <h4 class="pull-right">23-1-2015</h4>
                        <h4><a href="#"><center><h3><b>FIFA Holland is online!</b></h3></center></a>
                        </h4><center>
                        <p>De gloednieuwe FIFA-community "FIFA Holland" is eindelijk online!</p>
						<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum</p>
                   </center> </div>
                    <div class="ratings">
                        <p class="pull-right">1 reactie</p>
                        <p>
                            <span class="glyphicon glyphicon-star"></span>
                            <span class="glyphicon glyphicon-star"></span>
                            <span class="glyphicon glyphicon-star"></span>
                            <span class="glyphicon glyphicon-star"></span>
                            <span class="glyphicon glyphicon-star-empty"></span>
                            4.0 sterren
                        </p>
                    </div>
                </div>
                <div class="well">
                    <div class="text-right">
                        <a class="btn btn-success">Reageer!</a>
                    </div>
                    <hr>
                    <div class="row">
                        <div class="col-md-12">
                            <span class="glyphicon glyphicon-star"></span>
                            <span class="glyphicon glyphicon-star"></span>
                            <span class="glyphicon glyphicon-star"></span>
                            <span class="glyphicon glyphicon-star"></span>
                            <span class="glyphicon glyphicon-star-empty"></span>
                            Bert
                            <span class="pull-right">10 dagen geleden</span>
                            <p>Eindelijk, kon niet wachten! </p>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <!-- /.container -->
    <div class="container">
        <hr>
        <!-- Footer -->
        <footer>
            <div class="row">
                <div class="col-lg4">
                    <p>Copyright &copy; FIFA Holland 2014</p>
</div>
<body>
                </div>
            </div>
        </footer>
    </div>
    <!-- /.container -->
    <!-- jQuery -->
    <script src="js/jquery.js"></script>
    <!-- Bootstrap Core JavaScript -->
    <script src="js/bootstrap.min.js"></script>
</body>
</html>
<div class="container">
    <p><?php
    if (isset($_SESSION['logIn'])) {
        ?>Je bent ingelogd als: <?php echo ($_SESSION['logIn']) ?><?php
    } else {
        ?>Je bent niet ingelogd.<?php
    }
    ?></p>
</div>
[code] en [/code], zie ook de 'Meest gestelde vragen'.

Om terug te komen op je code, er mag geen HTML of zichtbare witregels voor je session_start(); staan. Nu staat je doctype er nog boven.
Checklogin is stuk korter;)
<?php
session_start(); // Start a new session
$con=mysqli_connect("localhost","root","superbart","fifaholland");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
};

// Get the data passed from the form
$username = $_POST['username'];
$password = $_POST['password'];

// escape variables for security
$username = mysqli_real_escape_string($con, $_POST['username']);
$password = mysqli_real_escape_string($con, $_POST['password']); 

$sql = "select * FROM users WHERE username = '$username' and password = '$password'";
$result = mysqli_query($con, $sql) or die ( mysql_error() );           

$nrOfRows = mysqli_num_rows($result);
if ($nrOfRows > 0)
{
    $_SESSION['logIn'] = "true";
    header("Location:index.html"); // This is wherever you want to redirect the user to    
}
else
{
    header("Location:notlogin.php");
}
mysqli_close($con);
?>
Haal die quotes weg om true op lijn nummer 24. Het is namelijk een boolean die true of false kan zijn.
index.html <---> PHP

???

Verwerkt jouw webserver ook PHP voor pagina's met de extensie .html?

Daarnaast: Je start je sessie nadat je al begonnen bent met het versturen van je document. Normaal levert dat een foutmelding op.

Staat het rapporteren van fouten aan?
Het veranderen van de plek van Session start heeft niet geholpen

[size=xsmall]Toevoeging op 26/01/2015 20:32:36:[/size]

Als ik ingelogd ben krijg ik "Ingelogd als true", dat staat er als ik
het onderaan de index.php zo heb staan:
<?php echo htmlspecialchars($_SESSION['logIn'], ENT_QUOTES, 'UTF-8') ?>


heb ik op de plek van logIn, username staan dan werkt hij al helemaal niet want dan vind hij Username niet.

[size=xsmall]Toevoeging op 26/01/2015 20:33:47:[/size]

Bart de kinkelaar op 26/01/2015 20:27:49

Het veranderen van de plek van Session start heeft niet geholpen

[size=xsmall]Toevoeging op 26/01/2015 20:32:36:[/size]

Als ik ingelogd ben krijg ik "Ingelogd als true", dat staat er als ik
het onderaan de index.php zo heb staan:
<?php echo htmlspecialchars($_SESSION['logIn'], ENT_QUOTES, 'UTF-8') ?>


heb ik op de plek van logIn, username staan dan werkt hij al helemaal niet want dan vind hij Username niet.


EDIT: bij true haakjes weggehaald. Nu staat her Ingelogd als: 1.
Je moet na het inloggen wel je username ophalen met een query, of opslaan en vervolgens ophalen uit je sessie.

Je zet nu immers zelf in 'logIn' een true neer, en als je dat echo'ed, dan krijg je dat ook te zien.

<?php
$_SESSION['username'] = $_POST['username'];
?>

Reageren