Hvorfor kan jeg ikke få min password validering til at virke
Hej jeg har har store problemer med at få min passwordvalidering til at virke.Jeg har en formular der henter nogle data ind. Til posten er der et password tilknyttet. Når jeg sender formularen validere jeg for om passworded er korrekt således:
if (!$password=="$realpassword") {
echo "<p><font color='#FF0000'>Du har ikke indtastet det rigtige password - prøv igen</p></font>\n";
Problemet er at ligegyldigt hvad jeg indtaster, så fanger denne validering ikke at password er forkert. Det eneste som den reagere på er hvis password ikke udfyldes overhovedet.
$realpassword som den validere det indtastede password med sætter jeg lig med værdien af arrrayen som tidligere har hentet det orginale password.
Hvad går galt?
Her er hele koden for siden:
<?
include_once ("../functions/functions.inc.php");
include_once ("../functions/functions_db.inc.php");
//Header og basal kode kaldes
echo writeHTMLheader("Projektbørs - opdater projekt");
echo "<center>\n";
echo "<h1>Projektbørs - opdater projekt</h1>\n";
//SQL sætning til at vælge data fra tabellen projekttitel
$strSQL = "SELECT projekttekst, password FROM projekter WHERE projekttitel='$projekttitel'";
//SQL kommandoen køres med funktion execute der er i filen functions_db.inc.php
$resultat = executeSQL($strSQL);
//resultatet smides i en array
$querydata = mysql_fetch_row($resultat);
echo"<div align='center'>";
//Her kommer formularen, hvor projektbeskrivelsen kan opdateres.
echo "<form method='POST' action='opdater_projekt.php' name='opdater_projekt'>";
echo "<input type='hidden' value='$projekttitel' name='projekttitel'>";
echo "<table border='0' cellpadding='5' cellspacing='0' style='border-collapse: collapse' bordercolor='#111111' width='600' id='AutoNumber1'>\n";
echo "<tr>\n";
echo "<td width='100%' colspan='2'><p align='center'><textarea rows='8' name='projekttekst' cols='56'>".$querydata[0]."</textarea></p></td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo "<td width='53%'><p align='right'>Indtast password: <input type='password' name='password' size='20'></p></td>\n";
echo "<td width='47%'><p align='center'><input type='submit' value='Opdater projektet' name='send'></p></td>\n";
echo "</tr>\n";
echo "</table>\n";
echo "</form>";
/*
Her tjekker jeg for om get er lig med send. Altså om formularen er submitten
Hvis den ikke er submittet skal den ikke udføre efterfølgende kode, som er
validering af inholdet af input felterne og kommunikation med database
*/
if(isset($_POST['send'])) {
//Validering for om der er indtastet en projektbeskrivelse
if ($projekttekst=="") {
echo "<p><font color='#FF0000'>Du har ikke indtastet en projektbeskrivelse - prøv igen</p></font>\n";
echo writeHTMLfootere ();
exit;
}
//Brugerens password i databasen sættes lig med variablen $realpassword
$realpassword="$querydata[1]";
//Validering for om det indtastede password er korrekt
if (!$password=="$realpassword") {
echo "<p><font color='#FF0000'>Du har ikke indtastet det rigtige password - prøv igen</p></font>\n";
echo writeHTMLfootere ();
exit;
}
else {
//SQL sætning til at opdatere data i tabellen
$strSQL = "UPDATE projekter SET projekttekst='$projekttekst' WHERE projekttitel='$projekttitel'";
//SQL kommandoen køres med funktion execute der er i filen functions_db.inc.php
$resultat = executeSQL($strSQL);
//validering af om SQL forespørgelsen går godt.
if (!$resultat){
echo "<p>Der skete en fejl og projektbeskrivelsen er ikke opdateret i databasen - prøv igen :-(</p>\n";
}
else{
echo "<p><font color='#FF0000'>Projektet er opdateret :-)</p></font>\n";
}
}
}
echo "<p><a href='projekt.php'>Vend tilbage til projektoversigten</a></p>\n";
echo"</div>";
echo "</center>\n";
//Footer kaldes for at lukke html siden korrekt
echo writeHTMLfootere ();
?>
