Ik ben nog niet zo gek lang bezig met development. Maar ik loop nu al op een probleembje.
Ik kan een php script dat ik gedownload heb (freesource) niet laten samenwerken met mijn HTML/css layout.
Het gaat om een script voor leden registreren en inloggen. (en alles wat daarbij hoort)
Wat ik simpelweg wou doen is een script op e site hebben waar leden kunnen aanmelden en inloggen. Vervolgens een check op elke pagina of het lid daadwerkelijk is ingelogd. Want random bezoekers mogen niet in dat gedeelte van de site komen.
Wie kan me hierbij helpen? Want ik ben wel redelijk ver al. En kwa uiterlijk krijg ik hem wel in elkaar gezet. Enkel doet het PHP script dan niet wat hij doen moet.
Lijkt me het handigst om hier het betreffende stukje code te plaatsen.
Wat beteft het controleren of mensen zijn aangelogd, dat kun je als volgt doen.
<?php
session_start();
if (isset ($_SESSION['username'])) { ?>
Hier je pagina die alleen zichtbaar is voor leden.
<?php } else { header ('Location: verboden.html'); } ?>
Let wel dat je natuurlijk bij $_SESSION['username'] iets moet pakken wat tijdens het inloggen gedefineerd wordt! Anders zal het nooit gaan werken en wordt je altijd doorgestuurd naar verboden.html.
Lijkt me het handigst om hier het betreffende stukje code te plaatsen.
Wat beteft het controleren of mensen zijn aangelogd, dat kun je als volgt doen.
<?php
session_start();
if (isset ($_SESSION['username'])) { ?>
Hier je pagina die alleen zichtbaar is voor leden.
<?php } else { header ('Location: verboden.html'); } ?>
Let wel dat je natuurlijk bij $_SESSION['username'] iets moet pakken wat tijdens het inloggen gedefineerd wordt! Anders zal het nooit gaan werken en wordt je altijd doorgestuurd naar verboden.html.
Het is me 280 lines aan code wat ik dan zou moeten plakken.
Ik weet dat HTML en PHP compatibel zijn. Ik hoopte dat jullie een uitleg konden geven op hoe ik dat aan kan pakken. Of dat jullie een link hebben voor een php script dat al in een html script verwerkt is. (en dus in de layout van de site) dan kan ik daarvan aflezen wat ik fout doe.
Php is server-side-scripting dit wordt alleen op de server uitgevoerd, je kunt dingen echo'en die in je HTML pagina terecht komen. Je zult nooit php code in je HTML pagina terug zien komen wanneer deze in je browser staat (bron/source).
Wil je de opmaak bepalen, en wordt deze met een echo weergegeven vanuit een php script, dan zul je daar een class of id aan mee moeten geven die je kunt stylen in je CSS sheet. Nogmaals zonder code is het voor ons moeilijk om je op weg te helpen.
Snap je het voorbeeld wel om pagina's te checken dat er daatwerkelijk ingelogd is?
Php is server-side-scripting dit wordt alleen op de server uitgevoerd, je kunt dingen echo'en die in je HTML pagina terecht komen. Je zult nooit php code in je HTML pagina terug zien komen wanneer deze in je browser staat (bron/source).
Wil je de opmaak bepalen, en wordt deze met een echo weergegeven vanuit een php script, dan zul je daar een class of id aan mee moeten geven die je kunt stylen in je CSS sheet. Nogmaals zonder code is het voor ons moeilijk om je op weg te helpen.
Snap je het voorbeeld wel om pagina's te checken dat er daatwerkelijk ingelogd is?
Ja, ik snap het voorbeeld bedankt. Hier de code`s waar het om gaat.
<table>
<tr>
<td>
<?php
/**
* User has already logged in, so display relavent links, including
* a link to the admin center if the user is an administrator.
*/
if($session->logged_in){
echo '<h3>This is the live demo of <a href="http://blog.geotitles.com/2011/08/php-login-script-with-advanced-features">PHP login script with added features</a> at <a href="http://blog.geotitles.com">GEO WEB STATION</a>, Click here for the tutorial <a href="http://blog.geotitles.com/2011/08/php-login-script-with-advanced-features">link</a></h3>';
echo '<h1><img src="images/lock_unlocked.png" width="32" height="32">Logged In</h1>';
echo "Welcome <b>$session->username</b>, you are logged in. <br><br>"
."[<a href=\"userinfo.php?user=$session->username\">My Account</a>] "
."[<a href=\"useredit.php\">Edit Account</a>] ";
if($session->isAdmin()){
echo "[<a href=\"admin/admin.php\">Admin Center</a>] ";
}
echo "[<a href=\"process.php\">Logout</a>]";
}
else{
?>
<h1><img src="images/lock_locked.png" width="32" height="32" alt="Login">Login</h1>
<?php
/**
* User not logged in, display the login form.
* If user has already tried to login, but errors were
* found, display the total number of errors.
* If errors occurred, they will be displayed.
*/
if($form->num_errors > 0){
echo "<font size=\"2\" color=\"#ff0000\">".$form->num_errors." error(s) found</font>";
}
?>
<form action="process.php" method="POST">
<table align="left" border="0" cellspacing="0" cellpadding="3">
<tr><td>Username:</td><td><input type="text" name="user" maxlength="30" value="<?php echo $form->value("user"); ?>"></td><td><?php echo $form->error("user"); ?></td></tr>
<tr><td>Password:</td><td><input type="password" name="pass" maxlength="30" value="<?php echo $form->value("pass"); ?>"></td><td><?php echo $form->error("pass"); ?></td></tr>
<tr><td colspan="2" align="left"><input type="checkbox" name="remember" <?php if($form->value("remember") != ""){ echo "checked"; } ?>>
<font size="2">Remember me next time
<input type="hidden" name="sublogin" value="1">
<input type="submit" value="Login"></td></tr>
<tr><td colspan="2" align="left"><br><font size="2">[<a href="forgotpass.php">Forgot Password?</a>]</font></td><td align="right"></td></tr>
<tr><td colspan="2" align="left"><br>Not registered? <a href="register.php">Sign-Up!</a></td></tr>
</table>
</form>
<?php
}
/**
* Just a little page footer, tells how many registered members
* there are, how many users currently logged in and viewing site,
* and how many guests viewing site. Active users are displayed,
* with link to their user information.
*/
echo "</td></tr><tr><td align=\"center\"><br><br>";
echo "<b>Member Total:</b> ".$database->getNumMembers()."<br>";
echo "There are $database->num_active_users registered members and ";
echo "$database->num_active_guests guests viewing the site.<br><br>";
include("include/view_active.php");
?>
</td></tr>
</table>
Kijk in je php script staan een hoop echo's zonder opmaak, pure tekst en headers.
Hier moet je dus een class of id aangeven zoals je in je HTML pagina doet en dan in je css de opmaak bepalen waar je ze gepositioneerd wil hebben.
Wil je dit in je main div hebben dan include je dat script gewoon in je main div zo dus.
<div id="main">
<?php include ('je_script.php'); ?>
</div>
Nu zal alles wat in het script ge-echo'd wordt in je main div belanden, en door je opmaak die je zelf nog moet maken in het script doormiddel van class en id zorg je dus dat het de juiste positie en vormgeving krijgt.
Kijk in je php script staan een hoop echo's zonder opmaak, pure tekst en headers.
Hier moet je dus een class of id aangeven zoals je in je HTML pagina doet en dan in je css de opmaak bepalen waar je ze gepositioneerd wil hebben.
Wil je dit in je main div hebben dan include je dat script gewoon in je main div zo dus.
<div id="main">
<?php include ('je_script.php'); ?>
</div>
Nu zal alles wat in het script ge-echo'd wordt in je main div belanden, en door je opmaak die je zelf nog moet maken in het script doormiddel van class en id zorg je dus dat het de juiste positie en vormgeving krijgt.
Tof dankje, daar had ik nog niet aan gedacht. Ik ga het eens uitproberen.