Re: Fremde Scripte
Verfasst: 6. Januar 2009, 22:17
Ich verstehe nicht, warum die Tabelle pinsx die Zeile gebot hat, obwohl da doch eigentlich nur die gültigen Codes "aufbewahrt" werden sollen, wenn ich das richtig verstehe.
edit: im folgenden Code wird jetzt zusäzlich geprüft ob der Code usergebunden ist und wenn ja, ob der eingeloggte user ihn verwenden darf. auch wieder mit der id des users. siehe unten.
für das überprüfen des gültigen Codes würde ich dann mal das hier vorschlagen:
und dann empfehle ich dir noch eben den User zu kontrolliren:
bitte den tabbellenprefix beachten
sollte die Variabel $user den user beinhalten, der das Formular abgesendet hat ist es einfacher:
hier wird also das Formular-Feld User überflüssig.
dann zum darstellen einer Liste bzw eines Artikels sollte man aber den Usernamen und nicht die id anzeigen:
auch hier bitte den tabbellenprefix beachten
diese Funktion kannst du dann verwenden um den usernamen zu einer id auszugeben.
edit: im folgenden Code wird jetzt zusäzlich geprüft ob der Code usergebunden ist und wenn ja, ob der eingeloggte user ihn verwenden darf. auch wieder mit der id des users. siehe unten.
für das überprüfen des gültigen Codes würde ich dann mal das hier vorschlagen:
Code: Alles auswählen
$result = mysql_query("SELECT id FROM pinsx WHERE code = '$code'");
if (isset($result))
{
#prüfen ob dieser Code für diesen benutzer war oder nicht usergebunden
$result = mysql_query("SELECT user FROM pinsx WHERE code = '$code'");
if (isset($result))
{
#code ist usergebunden
if ($result == $userdata['id'])
{
#code ist für den usernamen => weitermachen
}else
{
#code ist nicht für den usernamen => Fehlermeldung ausgeben
}
}else
{
#code Gültig und nicht usergebunden => weitermachen
}
}else
{
#code ungültig => fehlermeldung ausgeben
}
Code: Alles auswählen
$result = mysql_query("SELECT id FROM easyhp_user WHERE name = '$user'");
if (isset($result))
{
#benutzername Gültig => weitermachen
#die user id benutzen, damit beim namenswechsel des user die zugehörigkeit bestehen bleibt.
$user = $result;
}else
{
#benutzername ungültig => fehlermeldung ausgeben
}
sollte die Variabel $user den user beinhalten, der das Formular abgesendet hat ist es einfacher:
Code: Alles auswählen
$user = $userdata['id'];
dann zum darstellen einer Liste bzw eines Artikels sollte man aber den Usernamen und nicht die id anzeigen:
Code: Alles auswählen
function get_username($userid)
{
$result = mysql_query("SELECT name FROM easyhp_user WHERE id = '$userid'");
if (isset($result)
{
$username = $result;
}else
{
$username = False;
}
return $username;
}
diese Funktion kannst du dann verwenden um den usernamen zu einer id auszugeben.