|
Posted by Gernot Frisch on 03/09/06 10:47
"jukka" <ikaros@REMOVEMEsci.fi> schrieb im Newsbeitrag
news:dumprd$chi$1@phys-news4.kolumbus.fi...
> Gernot Frisch wrote:
>> I tried cookies. I enter good password and get "checking for
>> cookies" message. Then I press "Continue", and get the "Enter
>> Password" message.
>> What's wrong with my code?
>> I use Firefox. Cookies only from original domains. Forums remember
>> me.
>>
>>
>>
>>
>> // edit.php - file
>>
>> <?php
>>
>>
>> // If cookie posted and correct, set it
>> if(!isset($_COOKIE['glbasic_admin']) )
>> {
>> if($_POST['glbasic_admin'] == $password)
>> {
>> if(!setcookie('glbasic_admin', $_POST['glbasic_admin']))
>> {
>> echo('Fatal! Cant set cookie!?');
>> }
>> }
>> }
>>
>> // No cookie set
>> if(!isset($_COOKIE['glbasic_admin']) )
>> {
>> // but posted correct/incorrect
>> if($_POST['glbasic_admin'] == $password)
>> {
>> echo ('<html><body>Checking if cookies enabled...<br>'.
>> '<a
>> href="edit.php?lang="'.$_GET['lang'].'">Continue</a>');
>> exit();
>> }
>> else if(isset($_POST['glbasic_admin']))
>> {
>> $Content=AddContent('Wrong Password', 'Please try re-typing the
>> password again.', true);
>> }
>> }
>>
>>
>> echo 'Cookie: '.$_COOKIE['glbasic_admin'].'pw:'.$password;
>>
>> // wron password? Have user enter one
>> if($_COOKIE['glbasic_admin'] != $password)
>> {
>> echo('<html><body>Enter the admin password and enable cookies to
>> proceed.'.
>> '<br><form method="post"
>> action="edit.php?lang="'.$_GET['lang'].'<input type="text"
>> name="glbasic_admin" >'.
>> '<br><input type="submit" name="password" value="Login">'.
>> '</form>');
>> exit();
>> }
>>
>> ?>
>>
>>
>>
>>
>>
>
> Do you have the if(!isset($_COOKIE['glbasic_admin']) ) twice on
> purpose?
Yes. It works now - I had the $password in an include file, which I
included too late <Doh!>
Now it works good.
Enter Password,
If correct display message, store cookie, write link for page-reload
If cookie set, display admin panel.
This way I checked both: password and acceptance of cookies.
Here's my code:
<?php
$password = 'KungFu';
if(!isset($_COOKIE['glbasic_admin']) )
{
if($_POST['glbasic_admin'] == $password)
{
if(!setcookie('glbasic_admin', $_POST['glbasic_admin']))
{
echo('Fatal! Cant set cookie!?');
}
}
}
include('config.php'); // functions like "AddContent($topic, $body)"
and "WritePageOut($title, $content)"
$site = $_GET['site'];
if(!isset($_COOKIE['glbasic_admin']) )
{
if($_POST['glbasic_admin'] == $password)
{
$body=AddContent('Password Correct', 'Checking if cookies
enabled...<br><a
href="edit.php?lang="'.$_GET['lang'].'&site='.$site.'">Continue</a>');
WritePageOut('Site Admin', '', $body);
exit();
}
else if(isset($_POST['glbasic_admin']))
{
$Content=AddContent('Wrong Password', 'Please try re-typing the
password again.', true);
}
}
if($_COOKIE['glbasic_admin'] != $password)
{
$body= 'Enter the admin password and enable cookies to proceed.'.
'<br><form method="post"
action="edit.php?lang='.$_GET['lang'].'&site='.$site.'"><input
type="text" name="glbasic_admin" >'.
'<br><input type="submit" name="password" value="Login">'.
'</form>';
WritePageOut('Site Admin', '', $Content . AddContent('Enter
password', $body));
exit();
}
[Back to original message]
|