Heyho,
ich habe ein komisches Problem mit PHP und MySQL. Es ist zusätzlich noch ein wenig schwierig zu erklären. Also ich versuche es einmal:
Es gibt um einen Admin Panel, welcher bisjetzt so aussieht:
[attachment=1]<!-- ia1 -->Unbenannt.PNG<!-- ia1 -->[/attachment]
Eine kleine MySQL Tabelle ist die Basis dafür. Diese Tabelle ist echt simpel aufgebaut:
[attachment=0]<!-- ia0 -->Unbenannt2.PNG<!-- ia0 -->[/attachment]
Die Tabelle dient zur "Statusabfrage". Es gibt vier Optionen, die im Admin Panel eingestellt werden können:
- Anzeige (Ob die Seite angezeigt wird oder momentan gesperrt ist)
- IP-Sperre (Per IP können bestimmte Besucher "verbannt" werden)
- .htaccess Sicherung (Die Seite kann durch .htaccess gesichert werden)
- IP-Listing (Auflistung aller Besucher mit IP, Browser...)
Ich weiß, dass ich die Spalte status leiber boolean gemacht hätte, aber nehmt es einfach hin. Das hat seine Gründe^^
Die rechte Spalte der Tabelle (das obere Bild, nicht MySQL) ist dazu da, den Status der Option zu ändern. Der Code funktioniert komischerweise aber nur bei Option 2, 3 und 4. Aber 1 funktioniert irgendwie nicht. Irgendwie wird der Status immer nur aktiviert. Die kleinen Werkzeugbilder sind ein Link mit REQUEST Angabe. Diese REQUEST Angabe enthält einfach die id der Option. Hier ist der Code:
<?php
if(isset($_REQUEST["id"]))
{
if($_REQUEST["id"] > '4')
{
echo "<p>Ein Fehler ist aufgetreten.</p>";
}
else
{
$mysql = "SELECT * FROM `status` WHERE `id` LIKE ".$_REQUEST["id"];
$sqlresult = mysql_query($mysql);
$r = mysql_fetch_row(mysql_query($mysql));
if($r[2] == 'green')
{
$sql = "UPDATE `status` SET `status` = 'red' WHERE `id` = ".$_REQUEST["id"];
mysql_query($sql);
echo "<p>Die Option <span>".$r[1]."</span> wurde deaktiviert.</p>";
}
elseif($r[2]== 'red')
{
$sql = "UPDATE `status` SET `status` = 'green' WHERE `id` = ".$_REQUEST["id"];
mysql_query($sql);
echo "<p>Die Option <span>".$r[1]."</span> wurde aktiviert.</p>";
}
}
}
else
{
}
?>
Alles anzeigen
Warum ist das so? Warum funktioniert 1 nicht?
Am Rande könnt ihr mir auch sagen, wie ihr mein Ergebnis findet. Ich glaube selbst, dass es nicht gerade gut ist.
Mit freundlichen Grüßen,
Philipp Escher