Ik gebruik voor een site nu Template Power, maar ik krijg een probleempje maar niet verholpen.
Het probleem is : Als ik ingelogd ben na het invoeren van het formulier krijg ik een melding van dat ik ingelogd ben, maar ondertussen staat het formulier er ook nog steeds.
Hoe is dit te verhelpen?
Voor het inloggen gebruik ik dit:
en template bestand:PHP Code:
if(isset($_SESSION['ingelogd']))
{
$tpl->newBlock("foutmelding");
$tpl->assignGlobal("naam", $_SESSION['naam']);
}
else
{
$tpl->newBlock("formulier");
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
if(empty($_POST['email']) || empty($_POST['wachtwoord']))
{
$tpl->newBlock("nomatch");
} else
{
$sql = "SELECT *
FROM leden_gegevens
WHERE email = '".mysql_real_escape_string($_POST['email'])."'
AND wachtwoord = '".mysql_real_escape_string(md5($_POST['wachtwoord'])) ."'";
$query = mysql_query($sql) or die(mysql_error());
$list = mysql_fetch_assoc($query);
if(mysql_num_rows($query) == 0)
{
$tpl->newBlock("foutmelding2");
}
else
{
// Variabelen aan session toevoegen
$_SESSION['ingelogd'] = 1;
$_SESSION['naam'] = $list['naam'];
$tpl->newBlock("succesvol");
$tpl->assignGlobal("naam", $_SESSION['naam']);
}
}
}
}
Code:<!-- START BLOCK : succesvol --> <h2>Succesvol</h2> <p> U bent succesvol ingelogd als <strong>{naam}</strong>.<br /> U wordt binnen 3 seconden doorgestuurd. </p> <!-- END BLOCK : succesvol --> <!-- START BLOCK : foutmelding --> <p> U bent al ingelogd als {naam}.<br /> U wordt binnen 3 seconden doorgestuurd. </p> <!-- END BLOCK : foutmelding --> <!-- START BLOCK : foutmelding2 --> <p> Komt niet overeenofzo </p> <!-- END BLOCK : foutmelding2 --> <!-- START BLOCK : formulier --> <p> Vul hier uw emailadres en wachtwoord in om in te loggen op Marketplace.nl<br /> Nog geen account? Klik <a href="#" title="Registreren">hier</a> om een gratis account aan te maken. </p> <form action="{siteurl}/inloggen.php" method="post"> <table> <tr> <td>Emailadres:</td> <td><input type="text" name="email" /></td> </tr> <tr> <td>Wachtwoord:</td> <td><input type="password" name="wachtwoord" /></td> </tr> <tr> <td></td> <td><input type="checkbox" /> Ingelogd blijven</td> </tr> <tr> <td></td> <td><input type="submit" value="Inloggen" /></td> </tr> </table> </form> <!-- END BLOCK : formulier -->
- Problemen met Blocks
-
19-12-2008, 15:40 #1
- Berichten
- 408
- Lid sinds
- 16 Jaar
Problemen met Blocks
-
In de schijnwerper
Linkvada.com Linkbuilding Platform: Direct Linkbuilden op 77.000+ premium domeinenSEO/LinkbuildingGastartikelen plaatsen op échte websites met bezoekers en goede domeinwaarden?!SEO/Linkbuildingwegens beëindiging bedrijf beschikbaar | HappyHuisdier.nl DA13 - DR16Website te koopFull Stack: Web development, Design and BrandingFreelance / Werk -
19-12-2008, 16:59 #2
- Berichten
- 43
- Lid sinds
- 18 Jaar
Is de sessie wel degelijk gezet?
Mijn impressie; Ik voer m'n gegevens in en vervolgens inloggen. Daarna krijg ik een melding dat ik ben ingelogd inclusief het formulier.
Ik zou persoonlijk $tpl->newBlock("formulier"); ergens anders plaatsen. Met een else na de METHOD_POST..
Voor de rest ziet het script er zéér verzorgd en kwaliteitsvol uit. Zo hoort het!
Laatst aangepast door Dries H. : 19-12-2008 om 17:10
-
19-12-2008, 19:06 #3
- Berichten
- 408
- Lid sinds
- 16 Jaar
Dankjewel, het werkt.
Aanvullend bericht:
Nog een klein vraagje.
In elke php file heb ik nu dit staan:
$tpl->assignInclude("pagina.include","templates/index.tpl");
In de layout.tpl staat de layout met op het plek van de content:
Code:<!-- INCLUDE BLOCK : pagina.include -->
Code:<!-- START BLOCK : statistieken --> <p>Er zijn <strong>{advertenties}</strong> advertenties geplaatst in <strong>{groepen}</strong> groepen.</p> <!-- END BLOCK : statistieken -->
Code:<!-- START BLOCK : groepen --> <li><a href="#"><strong>{groep}</strong></a></li> <!-- END BLOCK : groepen -->
PHP Code:$tpl->newBlock("statistieken");
$aantal_advertenties = $DB->query("SELECT COUNT(id) AS aantal_advertenties FROM leden_advertenties");
$aantal_groepen = $DB->query("SELECT COUNT(*) AS aantal_groepen FROM groepen");
$list = mysql_fetch_assoc($aantal_advertenties);
$list2 = mysql_fetch_assoc($aantal_groepen);
$tpl->assign("advertenties", $list['aantal_advertenties']);
$tpl->assign("groepen", $list2['aantal_groepen']);
$groepen = $DB->query("SELECT * FROM groepen ORDER by groep ASC");
while($show = $DB->fetch($groepen)) {
$tpl->newBlock("groepen");
$tpl->assign("groep", $show['groep']);
}
Aanvullend bericht:
Iemand?Laatst aangepast door Mathijs Kingma : 24-12-2008 om 12:40 Reden: Automatisch samengevoegd.
-
25-12-2008, 13:47 #4
- Berichten
- 43
- Lid sinds
- 18 Jaar
Persoonlijk werk ik ook met één bestand(config). Daarin plaats ik ongeveer het volgende;
Config file..;
// Ik heb wel m'n class naam aangepast, dus niet letterlijk overkopiëren..
Code:$tpl = new DSTPL($pad."templates/blue/layout.tpl"); $tpl->assigninclude("inhoud",$pad."".$file.""); $tpl->prepare();
Code:<?php $file = "index.tpl"; require("config.php"); $tpl->newBlock("lala"); $tpl->PrintToScreen(); ?>
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic