ich bin gerade wieder in bastellaune aber hab gerade ein kleines Problem was ich nicht gelöst bekomme und zwar, ich möchte mir aus meiner DB eine threadid auslesen lassen, die ich eingetragen habe vorher und die auch gespeichert wurde
so sieht der Code jetzt aus den ich in meinem Template habe doch wird nichts angezeigt das gleiche Problem habe ich bei einem Feld mit dem Namen Bearbeiten und Löschen.
code:
1:
<a href="/XXX.php?action=$own[edit]">klick</a>
code:
1:
<a href="/XXX.php?action=$own[del]">klick</a
Wenn ich mit der Maus über den Link, gehe zeigt er mir alles an bis zum action= und das $own[edit/del] übernimmt er nit die ID bekomme ich da auch nicht rein
.
Dann habe ich das Problem noch, dass ich zwei DropDown Felder habe wo ich etwas auswählen kann diese werden ja so im Template eingefügt
if ($action == 'own') {
$own = '';
$result = $db->query("SELECT * FROM bb".$n."_charakter WHERE userid='$wbbuserdata[userid]'");
while($own = $db->fetch_array($result)) {
$threadid = $wbbuserdata['threadid']; // Wird nicht angezeigt
$uhrzeit = $wbbuserdata['uhrzeit']; // Wird nicht richtig angezeigt
$status = $wbbuserdata['status']; // Wird nicht richtig angezeigt
$icon = $wbbuserdata['icon'];
$edit = $wbbuserdata['edit']; // Wird nicht angezeigt
$del = $wbbuserdata['del']; // Wird nicht angezeigt
eval ("\$ownbit .= \"".$tpl->get("charakter_own")."\";");
}
__________________ Liebe Grüße
#Shadow
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von #SHADOW: 23.12.11 00:27.
Bei Link 1.
Wo werden diese Informationen ausgelesen? Sehe unten im Script keine $topic Abfrage.
Wenn du das Feld bearbeiten möchtest, müsstest du bei Link 2 und 3 ja die ID verwenden. Wieso liest du dort "edit" und "del" aus? Was haben diese für Informationen?
Die ID bekommst du dann über intval($_GET['del']) bzw. intval($_GET['edit']) in das Script übermittelt.
Bei dem SelectFeld ist $wahl[1] und $wahl[2] völlig unnötig. Das kannst du löschen. Und das 1 oder 2 herauskommt ist klar, da du bei "value", was ja für Wert steht, 1 und 2 stehen hast. Da müsstest du auch "Auswahl 1/2" hineinschreiben, wenn du das als Text haben möchtest.
Was steht in der $own[icon] Variable? Bilder werden normalerweise wie folgt angezeigt:
<img src="./images/icon.gif" width="60" height="60" />
Solltest du also nur "icon.gif" in der ICON Variable stehen haben fehlt dir der Pfad dorthin.
Hallo Ghostmaster,
das hat mir sehr geholfen und ich bin ein Stück weiter gekommen dank deiner Hilfe
nur hänge ich gerade an dem Befehl mit dem löschen ich bekomme es irgendwie nicht hin das nur der eintrag gelöscht wird wo ich auf löschen klicke sondern wenn ich da drauf klicke löscht er alles was in der DB steht -.-
ich habe jetzt zu letzt es so versucht
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
if($action=="delete") {
$result = $db->query("SELECT * FROM bb".$n."_charakter WHERE userid='$wbbuserdata[userid]'");
while($row=$db->fetch_array($result)) {
$db->unbuffered_query("DELETE FROM bb".$n."_charakter
WHERE threadid='$own[threadid]'");
}
exit();
}
if($action=="delete") {
$result = $db->query("SELECT * FROM bb".$n."_charakter WHERE userid='$wbbuserdata[userid]'"); #Du liest hier ALLE Charaktere aus mit deiner UserID
while($row=$db->fetch_array($result)) {
$db->unbuffered_query("DELETE FROM bb".$n."_charakter
WHERE threadid='$own[threadid]'"); #$own ist nirgends definiert, $row gehört dahin
}
exit();#ohne eine Header Location bringt exit nichts, da kommt dann wahrscheinlich eine weiße Seite.
}
So sollte es aussehen:
code:
1:
2:
3:
4:
5:
6:
7:
8:
if ($action == 'delete') {
if (isset($_GET['threadid'])) $threadid = intval($_GET['threadid']); #holt sich die ThreadID über den Link und schützt es mit intval vor Inject Angriffen
$db->query("DELETE FROM bb".$n."_charakters WHERE threadid = '$threadid'"); #löscht alle Charaktere mit der ThreadID die übermittelt werden
header("Location: datei.php");
exit();
}