if $new = ''yes'' session fout

Status
Niet open voor verdere reacties.

ginojo

Gebruiker
Lid geworden
7 sep 2010
Berichten
912
hallo iedereen,

ik heb sinds gisteren de sessions ontdekt. Ik wil nu hebben dat als mijn leden al zijn aangemald zijn voor de nieuwsbrief, dat er dan op de homepage het inschrijfformulier niet wordt weergegeven. Ik heb zelf al heel erg mijn best gedaan, maar nu is het nog niet gelukt. Ik heb in mijn database een kolom genaamd 'newsletter' en die kan staan op 'Yes'/'No'. Als ie dus op 'Yes' staat wilt ik dat er een session wordt bijgezet. Ik heb dus deze code verzonnen...
PHP:
if(mysql_num_rows(mysql_query("SELECT newsletter FROM users WHERE newsletter='Yes')) == 1)
{ 
    $_SESSION['news'] = 'ok'; 
}
(BTW, er staat boen nog een optie... met dit erin is dit de gehele code.
PHP:
<?PHP
session_start();

$username = strip_tags($_POST['username']);
$password = md5(strip_tags($_POST['password']));


$db = mysql_connect('host','user','wachtwoord') or die(mysql_error());
mysql_select_db("database", $db);
if(mysql_num_rows(mysql_query("SELECT user_name,password FROM users WHERE user_name='$username' AND password='$password'")) == 1)
{
if(mysql_num_rows(mysql_query("SELECT newsletter FROM users WHERE newsletter='Yes')) == 1)
{ 
    $_SESSION['news'] = 'ok'; 
}

    $_SESSION['login'] = 'yes';
    $_SESSION['name'] = $username;
    header('location: ../../index.html');
}
else
{

?>
maar nu krijg ik dus als ik dit doe de melding bij het inloggen
Code:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /path/loggedin.php on line 14
En line 14 is dus
PHP:
    $_SESSION['news'] = 'ok';
Hier wordt dus die session geschreven...

Ik weet niet waar het probleem zit..
Weet iemand het?

Ginojo
 
De fout:

PHP:
if(mysql_num_rows(mysql_query("SELECT newsletter FROM users WHERE newsletter='Yes')) == 1

Na 'yes' ben je het aanhalingsteken vergeten. Het moet zijn:

PHP:
if(mysql_num_rows(mysql_query("SELECT newsletter FROM users WHERE newsletter='Yes'")) == 1
 
En let op SQL-injectie, gebruik mysql_real_escape_string en hou je variabelen buiten quotes.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan