[OPGELOST] PHP Issue

Nederlandse ondersteuning voor CMS Made Simple

Moderator: velden

Post Reply
brentnl
Power Poster
Power Poster
Posts: 493
Joined: Mon May 11, 2009 4:35 pm

[OPGELOST] PHP Issue

Post by brentnl »

Hoi, ik heb even simpele basis kennis van PHP nodig. ik heb het volgende script, waarbij een emailadres in een database voor moet komen als een soort beveiliging.. zoja; dan wordt je doorverwezen naar een pagina, en anders moet je op dezelfde pagina blijven en enkel een alert box krijgen.

Code: Select all

<?php
include "connect.php"; 
$email = $_GET['email']; 
$query = "SELECT subscriberid
FROM email_list_subscribers
WHERE emailaddress = '$email'
And confirmed = '1' ";
$res = mysql_query($query);
if(mysql_num_rows($res) > 0) {
header("Location: http://www.domein.nl/gallery");
} 
else {
print '<__script__ type="text/javascript">';
print 'alert("'. $_GET['email'].' staat nog niet geregistreerd. Meld je snel aan op de website!")';
print '</__script>';
}
de alertbox werkt, alleen het terugkeren naar de pagina lukt me niet. "header("location... toevoegen geeft de welbekende 'headers already sent' error.
Last edited by brentnl on Sat Feb 19, 2011 3:26 pm, edited 1 time in total.
Jos
Support Guru
Support Guru
Posts: 4019
Joined: Wed Sep 05, 2007 8:03 pm

Re: PHP Issue

Post by Jos »

De code die je nu laat zien zou naar mijn idee moeten werken. Of heb je er nog iets voor staan?

De foutmelding "headers already sent" komt meestal doordat er al content gestuurd is, dus een echo of print.

Heb je deze code in een UDT staan? Dat zou ook goed moeten gaan namelijk.
brentnl
Power Poster
Power Poster
Posts: 493
Joined: Mon May 11, 2009 4:35 pm

Re: PHP Issue

Post by brentnl »

De code werkt ook wel, alleen als het emailadres niet in de database staat krijg je een 'alert' alleen die opent op een nieuwe pagina, en ik wil dat ze op de huidige pagina blijven..
Jos
Support Guru
Support Guru
Posts: 4019
Joined: Wed Sep 05, 2007 8:03 pm

Re: PHP Issue

Post by Jos »

Kun je niet gewoon alle content weergeven dan, en je stukje javascript in de head of de body opnemen?

Afgezien van dat het niet werkt, is je code onveilig.

verander

Code: Select all

$email = $_GET['email'];

in

Code: Select all

$email = mysql_real_escape_string($_GET['email']); 
en verander

Code: Select all

print 'alert("'. $_GET['email'].' staat nog niet geregistreerd. Meld je snel aan op de website!")';
in

Code: Select all

print 'alert("'. htmlspecialchars($_GET['email']).' staat nog niet geregistreerd. Meld je snel aan op de website!")';
brentnl
Power Poster
Power Poster
Posts: 493
Joined: Mon May 11, 2009 4:35 pm

Re: PHP Issue

Post by brentnl »

Jos wrote:Kun je niet gewoon alle content weergeven dan, en je stukje javascript in de head of de body opnemen?[/code]
Hoe bedoel je dat precies? ik heb nu een cmsms website, met daarin een zelfgeschreven inlog formuliertje welke query.php aanroept (en die weer connect.php). Als ik die code van query.php in de cmsms code zet heeft de gebruiken nog geen emailadres ter controle in kunnen voeren?
Jos
Support Guru
Support Guru
Posts: 4019
Joined: Wed Sep 05, 2007 8:03 pm

Re: PHP Issue

Post by Jos »

Misschien mooier om al die code in één UDT-tje te gieten? Je mag me alle code wel even pm-en, dan kijk ik wel even voor je..

Als jij mij helpt, help ik jou.. zie mijn pm ;D
brentnl
Power Poster
Power Poster
Posts: 493
Joined: Mon May 11, 2009 4:35 pm

Re: PHP Issue

Post by brentnl »

you've got mail.
Post Reply

Return to “Dutch - Nederlands”