compudoc
Terugkerende gebruiker
- Lid geworden
- 7 jul 2006
- Berichten
- 1.018
Ik wil gebruik gaan maken van een nieuwssysteem met een admin maar in de admin zit nog een *** fout. Het gaat om session_start(); in elk bestand staat hij 1 keer maar dan negeert ie hem en als je er 1 verwijderd dan werkt er iets niet meer (alleen in login.php kan je hem verwijderen) verder word alles vanuit index.php geladen
login.php:
form.php:
index.php:
wie kan mij helpen dit probleem op te lossen
login.php:
PHP:
<?PHP
session_start();
// sessie starten voor de admin
include("../includes/config.inc.php");
// het configuratie bestand includen
// hier kan het script enkele gegevens uit ophalen
// in dit script de username + password van de admin
ERROR_REPORTING(E_ALL);
// error reporting op E_ALL zetten
// voor gebruik kun je het het beste op E_NONE zetten
// voorkomt dat je layout raar gaat doen bij errors
if(IsSet($_SESSION['username']))
{
?>
<Meta HTTP-Equiv=\"refresh\" Content=\"0;Url=index.php\">
<?PHP
} else
{
if(!IsSet($_POST['submit']))
{
?>
<Form Method='POST' Action='<?PHP echo $_SERVER['PHP_SELF']; ?>'>
<Tr Width='500'>
<Td Width='150'>
Username:
</Td>
<Td Width='400'>
<Input Type='TEXT' Name='username' style='width: 350px; margin-left: 25px;margin-right: 25px;'>
</Td>
</Tr>
<Tr Width='500'>
<Td Width='150'>
Password:
</Td>
<Td Width='400'>
<Input Type='PASSWORD' Name='password' style='width: 350px; margin-left: 25px;margin-right: 25px;'>
</Td>
</Tr>
<Tr Width='500'>
<Td ColSpan='2'>
<Center>
<Input Type='SUBMIT' Name='submit' Value='Login!' style='width: 100px; margin-left: 25px;margin-right: 25px;'>
</Center>
</Td>
</Tr>
<?PHP
} else
{
?>
<Tr Width='500'>
<Td Width='500'>
<?PHP
if(!IsSet($_POST['username']) || empty($_POST['password']))
{
?>
Error!- Geen username!
<BR>
<A HREF='javascript:history.go(-1);'>Keer terug!</A>
<?PHP
} else if(!IsSet($_POST['password']) || empty($_POST['password']))
{
?>
Error!- Geen username!
<BR>
<A HREF='javascript:history.go(-1);'>Keer terug!</A>
<?PHP
} else if($_POST['username'] == $admin['username'] && $_POST['password'] == $admin['password'])
{
$_SESSION['login'] = TRUE;
$_SESSION['username'] = $_POST['username'];
$_SESSION['ipad'] = $_SERVER['REMOTE_ADDR'];
?>
Je bent succesvol ingelogd!
<Meta HTTP-Equiv=\"refresh\" Content=\"3;Url=index.php\">
<?PHP
} else
{
?>
Error!- Kan niet inloggen!
<BR>
Verkeerde username + wachtwoord combinatie!
<?PHP
}
?>
</Td>
</Tr>
<?PHP
}
}
?>
form.php:
PHP:
<?PHP
session_start();
// sessie starten voor de admin
ERROR_REPORTING(E_ALL);
// error reporting op E_ALL zetten
// voor gebruik kun je het het beste op E_NONE zetten
// voorkomt dat je layout raar gaat doen bij errors
include("../includes/config.inc.php");
// het configuratie bestand includen
?>
<!--
de functie maken voor het klikbaar maken van smilies + ubb knoppen
-->
<script language="JavaScript">
function smile (code){
document.form.bericht.value = document.form.bericht.value + code;
document.form.bericht.focus();
}
</script>
<?PHP
// checken of gebruiker is ingelogd en/of admin is
// niet ingelogd, echo een error
if(!IsSet($_SESSION['login']) || $_SESSION['login'] != TRUE)
{
?>
Error!- Je hebt niet de juiste rechten!
<BR>
<Meta HTTP-Equiv="refresh" Content="3;url=index.php">
<?PHP
} else
{
// wel ingelogd
// checken of er al gesubmit is
// als er nog niet op de knop is geklikt, een formulier laten zien
if(!IsSet($_POST['submit']))
{
?>
<Form Method='POST' Action='form.php' name='form'>
<Tr Width='550'>
<Td Width='150'>
Door:
</Td>
<Td Width='450'>
<Input Type='TEXT' Name='door' style='width: 350px; margin-left: 25px; margin-right: 25px;'>
</Td>
</Tr>
<Tr Width='550'>
<Td Width='150'>
Titel:
</Td>
<Td Width='450'>
<Input Type='TEXT' Name='titel' style='width: 350px; margin-left: 25px;margin-right: 25px;'>
</Td>
</Tr>
<Tr Width='550'>
<Td ColSpan='2'>
<Center>
<Input Type='BUTTON' Name='[b][/b]' Value='[b][/b]' style='width: 99px;' onClick='javascript: smile("[b][/b]");'>
<Input Type='BUTTON' Name='[u][/u]' Value='[u][/u]' style='width: 99px;' onClick='javascript: smile("[u][/u]");'>
<Input Type='BUTTON' Name='[i][/i]' Value='[i][/i]' style='width: 99px;' onClick='javascript: smile("[i][/i]");'>
<Input Type='BUTTON' Name='[email][/email]' Value='[email][/email]' style='width: 99px;' onClick='javascript: smile("[email][/email]");'>
<Input Type='BUTTON' Name='[url][/url]' Value='[url][/url]' style='width: 99px;' onClick='javascript: smile("[url][/url]");'>
</Center>
</Td>
</Tr>
<Tr Width='550'>
<Td ColSpan='2'>
<Center>
<IMG Src='../smiles/icon_arrow.gif' onClick='javascript: smile(":arrow:")'>
<IMG Src='../smiles/icon_biggrin.gif' onClick='javascript: smile(":D");'>
<IMG Src='../smiles/icon_confused.gif' onClick='javascript: smile(":S");'>
<IMG Src='../smiles/icon_cool.gif' onClick='javascript: smile("8)");'>
<IMG Src='../smiles/icon_cry.gif' onClick='javascript: smile(":*(");'>
<IMG Src='../smiles/icon_eek.gif' onClick='javascript: smile(":shock:");'>
<IMG Src='../smiles/icon_evil.gif' onClick='javascript: smile(":evil:");'>
<IMG Src='../smiles/icon_exclaim.gif' onClick='javascript: smile(":!:");'>
<IMG Src='../smiles/icon_frown.gif' onClick='javascript: smile("^:(");'>
<IMG Src='../smiles/icon_idea.gif' onClick='javascript: smile(":idea:");'>
<IMG Src='../smiles/icon_lol.gif' onClick='javascript: smile(":lol:");'>
<IMG Src='../smiles/icon_mad.gif' onClick='javascript: smile(":x");'>
<IMG Src='../smiles/icon_mrgreen.gif' onClick='javascript: smile(":mrgreen:");'>
<IMG Src='../smiles/icon_neutral.gif' onClick='javascript: smile(":|");'>
<IMG Src='../smiles/icon_question.gif' onClick='javascript: smile(":?:");'>
<IMG Src='../smiles/icon_razz.gif' onClick='javascript: smile(":P");'>
<IMG Src='../smiles/icon_redface.gif' onClick='javascript: smile(":oops:");'>
<IMG Src='../smiles/icon_rolleyes.gif' onClick='javascript: smile(":roll:");'>
<IMG Src='../smiles/icon_sad.gif' onClick='javascript: smile(":(");'>
<IMG Src='../smiles/icon_smile.gif' onClick='javascript: smile(":)");'>
<IMG Src='../smiles/icon_surprised.gif' onClick='javascript: smile(":o");'>
<IMG Src='../smiles/icon_twisted.gif' onClick='javascript: smile(":twisted:");'>
<IMG Src='../smiles/icon_wink.gif' onClick='javascript: smile(":wink:");'>
</Center>
</Td>
</Tr>
<Tr Width='550'>
<Td Width='150'>
Bericht:
</Td>
<Td Width='450'>
<Textarea Name='bericht' style='width: 350px; height: 150px; margin-left: 25px;margin-right: 25px;'>
</Textarea>
</Td>
</Tr>
<Tr Width='550'>
<Td ColSpan='2'>
<Input Type='SUBMIT' Name='submit' Value='POSTEN!' style='width: 100px; margin-left: 25px;margin-right: 25px;'>
</Td>
</Tr>
<?PHP
} else
{
// als er wel gesubmit is alles ophalen + checken
?>
<Tr Width='550'>
<Td ColSpan='2'>
<?PHP
if(!IsSet($_POST['door']) || empty($_POST['door']))
{
// als het veld 'door' niet geset is, of leeg is
?>
Error!- Geen naam ingevuld!
<BR>
<A HREF='javascript:history.go(-1);'>Keer terug!</A>
<?PHP
} else if(!IsSet($_POST['titel']) || empty($_POST['titel']))
{
// als het veld 'titel' niet geset is, of leeg is
?>
Error!- Geen titel ingevuld!
<BR>
<A HREF='javascript:history.go(-1);'>Keer terug!</A>
<?PHP
} else if(!IsSet($_POST['bericht']) || empty($_POST['bericht']))
{
// als het veld 'bericht' niet geset is, of leeg is
?>
Error!- Geen bericht ingevuld!
<BR>
<A HREF='javascript:history.go(-1);'>Keer terug!</A>
<?PHP
} else
{
// als alles goed ingevuld is de SQL Query maken
$sQuery = "INSERT INTO nieuws (id, titel, door, text, datum, tijd) VALUES ('', '".addslashes($_POST['titel'])."', '".addslashes($_POST['door'])."', '".addslashes($_POST['bericht'])."', '".date("d-m-Y")."', '".date("H:i")."')";
$sResult = MySQL_Query($sQuery) or report_mysql("Nieuws invoegen", __FILE__, __LINE__, $sQuery);
// SQL Query uitvoeren, of als hij niet uitgevoerd kan worden een error
// op het scherm zetten
?>
Het nieuwsbericht is succesvol toegevoegd.
<BR>
Klik <A HREF='index.php'>hier</A> om terug te keren naar de beginpagina.
<BR>
Klik <A HREF='logout.php'>hier</A> om uit te loggen.
<?PHP
}
}
}
?>
index.php:
PHP:
<?PHP
session_start();
// sessie starten voor de admin
ERROR_REPORTING(E_ALL);
// error reporting op E_ALL zetten
// voor gebruik kun je het het beste op E_NONE zetten
// voorkomt dat je layout raar gaat doen bij errors
include("../classes/ip.php");
$ip = new ip;
$ipadres = $ip->GetIP();
// class includen voor het achterhalen van IP adres
?>
<Center>
<Table Border='1' BorderColor='#000000' CellPadding='2' CellSpacing='2' Width='500'>
<?PHP
if(!IsSet($_SESSION['username']))
{
// als de username nog niet geset is in de sessie
// het inlog formulier includen
include("login.php");
} else if(IsSet($_SESSION['username']))
{
// als hij wel geset is, checken of de user niet probeert
// om de sessie van een admin te stelen
if(IsSet($_SESSION['ipad']))
{
// als het ip adres is geset in de sessie
if($_SESSION['ipad'] == $ipadres)
{
// en het ip adres van de gebruiker hetzelfde is
// een formulier laten zien om een nieuwsbericht
// toe te voegen in de database
include("form.php");
?>
<Tr Width='500'>
<Td ColSpan='2'>
<A HREF='logout.php'>Uitloggen</A>
</Td>
</Tr>
<?PHP
} else
{
// als het ip adres niet hetzelfde is
// een error laten zien
?>
<Tr Width='500'>
<Td ColSpan='2'>
Hack poging!
</Td>
</Tr>
<?PHP
}
exit;
}
}
?>
</Table>
wie kan mij helpen dit probleem op te lossen