Datensatz löschen (bin Anfänger)

mymomo

Grünschnabel
Hallo erstmal... Ich bin neu hier...

Ich hab da ein wirklich simples Problem, doch komme ich selbst irgendwie nicht drauf, drum bitte ich um Hilfe...

Ich möchte ein kleines Nachrichtensystem erstellen, da ich jedoch mehr klauen musste als selber weiß, habe ich nun meine Probleme ;o)...
Ausgegeben werden sollen nur AN, VON und EINTRAG...

Das funktioniert überraschenderweise sogar ;o)... Doch möchte ich nun auch diese Einträge wieder löschen können - und das geht nicht ^^...

Meine Datenbank beinhaltet:
ID mit auto_increment
TIME (welches derzeit noch nicht verwendet wird, aber halt schonmal mit drin is)
AN als varchar
VON als VARCHAR
und EINTRAG als textform

Der PHP-Inhalte sieht wie folgt aus:

Von "neueintrag.php" gehen per post-Methode die Variablen von AN, VON und EINTRAG in die "eintrag.php" mit folgendem Inhalt:

<?
mysql_pconnect("localhost", "root", "admin");
mysql_select_db("nachrichten");

$von = trim($von);
$an = trim($an);
$eintrag = trim($eintrag);
$sql = "INSERT INTO nachrichten (von, an, eintrag) VALUES (";
$sql .= "'" . addslashes($von) . "', ";
$sql .= "'" . addslashes($an) . "', ";
$sql .= "'" . addslashes($eintrag) . "')";
$qid = mysql_query($sql);
header("Location: nachrichten.php");
?>

Die wichtigen Elemente der "nachrichten.php" sehen wie folgt aus:

<form action="loeschen.php" method="get">
<?php
while($qarray = mysql_fetch_array($query_id)) {
echo 'an';
echo htmlentities($qarray["an"]);
echo 'von';
echo htmlentities($qarray["von"]);
echo 'text';
echo htmlentities($qarray["eintrag"]);
echo '<input type="Submit" value="löschen?">';
}
?>
</form>

Nun habe ich folgendes getestet. Wenn ich "echo htmlentities($qarray["id"]);" ausgeben wollen würde, geht das einwandfrei. Er zeigt mir also bei jedem Eintrag die richtige ID an. Also muss die ID ja irgendwie auszulesen sein.

Drum habe ich mir gedacht, wenn ich nun eine "loeschen.php" mache und dort versuche die ID als Variable wieder einzulesen, könnte ich den Datensatz damit dann löschen. Nur bekomme ich auf´s verrecken den Wert der ID nicht.
Meine "loeschen.php" sieht wie folgt aus:

<?
mysql_pconnect("localhost", "root", "admin");
mysql_select_db("nachrichten");

$loeschen = "DELETE FROM nachrichten WHERE id = 'XXXXXX'";
$qid = mysql_query($loeschen);
header("Location: nachrichten.php");
?>

Anstelle der XXXXXX muss ich nun irgendwie an die Variable ID rankommen. Nur wie mache ich das?
Das mein Script ansonsten (trotz vermutlicher grausamer Programmierung ;o)) funktioniert habe ich getestet, indem ich einfach statt XXXXXX die ID einfüge von der ich weiß das es den Datensatz gibt.

Nur soll ja schließlich das Script selbst die ID finden ^^ ;o)...

Kann mir einer kurz sagen wie es geht?

Danke vielmals
 
Ich gib dir nen Rat:
Lies das hier Mal seeeeehr ausführlich durch. Unteranderem steht auch dort wie man werte übergibt.
 
danke, werde ich machen... hab nu auch vor php mal vernünftig zu lernen...

wäre jedoch dankbar wenn mir einer die lösung dazu geben könnte, da ich leider nicht mehr die zeit habe das alles durchzulesen...

ich bin hier heute den letzten tag in einem praktikum... da wurde ich gefragt ob ich für die praxis in der ich bin solch ein nachrichtensystem basteln könnte...
da ich schonmal ein gästebuch gemacht habe, sollte das kein problem sein dachte ich... nur habe ich da niemals die funktion "löschen" gebraucht ^^...

wäre wirklich schade wenn ich das hier jetzt nur halb fertig habe, drum wäre es wirklich sehr nett wenn mir jemand kurz die lösung verraten könnte...

gruß mymomo
 
Nö lies das durch das dauert(wenn überhaupt ne halbe Stunde) Ansonsten kannst dus halt wirklich nicht. Das entspricht ja auch der Tatsache.
 
sry, aber ne predigt oder sonstwas wollte ich nun wirklich nicht hören...

ob ich es kann oder nicht tut ja nichts zur sache... habe doch gesagt das ich es nicht kann - wenn ich es könnte wäre ich nicht hier...

das war keine prüfung oder sonstwas, sondern ich wollte denen einen gefallen tun und war damit überfordert...
das ich tutorials etc lesen muss um php zu lernen is mir auch klar, nur ging es mir da um eine schnelle lösung...

da ich mein praktikum dort nicht gemacht habe um zu programmieren, sondern um in den beruf der ergotherapie reinschauen zu können, kann und wollte ich mich DORT nicht stundenlang mit lesen irgendwelcher tutorials oder ähnlichen aufhalten, dafür war ich nunmal nicht da...

nun, heute war mein letzter tag dort und die löschfunktion ist noch immer nicht aktiv... somit quasi alles umsonst...

ich unterstelle einfach mal das es für euch nun wirklich garkein problem gewesen wäre mir kurz und knapp zu sagen was ich falsch gemacht habe oder vergessen habe... und darum habe ich gebeten... ich wollte keine komplettlösung... und wie man denke ich sehen kann habe ich es zumindest VERSUCHT hinzukriegen - nur da ich es nunmal noch nicht kann wurde das nicht mit erfolg gekrönt... ich mache meine lösungen auch lieber selbst, doch ich wäre nun wirklich nicht hier wenn ich sie selbstständig in der mir zur verfügung gegebenen zeit erarbeitet haben könnte...

danke auch für keinerlei hilfe...

trotzdem danke für den link, scheint ganz gut zu sein, nur wie bereits gesagt, HEUTE hatte ich keine zeit dafür mir das wissen anzueignen was ich brauchte...

mymomo
 
Es wäre für uns sicher auch kein Problem gewesen, dir ein fertiges Script zu schreiben. Aber darum geht es nicht. Für dich wäre es auch mit Sicherheit kein Problem gewesen, wenn du deinem Arbeitgeber einfach gesagt hättest, dass du sowas nicht kannst. Das wäre wohl der ehrlichere Weg gewesen.
 
wieso denn schon wieder ehrlich?

das hat damit doch nix zutun... ich wurde gefragt ob ich da vielleicht sowas erstellen könnte und ich habe gesagt das ich es gerne versuche, da ich wie gesagt schonmal ein gästebuch gemacht habe und das auch soweit lief...
da ich auch dachte das mein weg des löschens wohl so funktionieren würde, habe ich also kein problem darin gefunden und habe das fertig gemacht... nur das halt das löschen nicht funktionierte...

ich habe auch meinem praktikumgeber gesagt das ich das mit dem löschen noch nie gemacht habe und ich habe ihm auch später gesagt das ich das nicht hinbekomme, aber ich im internet sicherlich in einem forum von einem wissenden hilfe bekommen würde... tja, falsch gedacht...

man muss mir vielleicht noch erklären warum es so schwer ist jemanden eine lösung zu geben zu einem problem welches der anwender trotz einiger logischen (jedoch ohne kenntnisse) versuche selbst nicht in den griff bekommen hat...
sry, verstehe das ehrlich nicht... wie ich bereits sagte, ich finde auch das jemand besser lernt wenn er es sich selbst erarbeitet... und ich habs ja auch versucht... nur wie ich schon gesagt hatte, hatte ich nicht die zeit dazu mich durch tutorials zu wurschteln...
und genau in diesem falle würde ICH (bei ausreichenden kenntnissen) demjenigen dann doch mal unter die arme greifen, schließlich ist es ja nicht so das man ihm nun eine komplette anwendung gibt, sondern nur eine lösung auf ein bestimmtes problem...

gut, mir wurde der tipp gegeben den wert ID doch mal an das script weiterzuleiten... ja... also mit meinen derzeitigen kenntnissen würde ich jetzt sagen "das habe ich doch durch die post-methode gemacht, oder?"... die antwort lautet allerdings nein und in kürze werde ich es mir selbst erarbeitet haben wie es nun wirklich geht...

sry, verstehe wirklich nicht wie man sich so querstellen kann... dachte ja für sowas ist solch ein forum da...
 
Könntet ihr eure Grundsatztdiskusionen bitte vertagen.
Außerdem gibt es keine dummen Fragen nur dumme Antworten.
Das habt ihr ja auch sehr schön bewiesen.

Wer jemanden keine antwort auf eine Frage gibt sollte auch nicht posten.

So jetzt zur Frage:

Eine Variable übergibt man entweder mit einem Formular oder über die Addresse.
Bei den neuen PHP Versionen muss man die Variable erst erfragen, sie wird aus Sicherheitsgründen nicht mehr einfach so gesetzt.

Befehle dafür sind:

$_GET,$_POST,$_SESSION,$_COOKIES,$_FILES


Jetzt mal ein konkretes Beispiel:

Du schreibst in der Addressenliste index.php?id=test

In die index.php Datei schreibst du dann.

PHP:
$id = $_GET['id'];
So schon hätten wir eine Variable übergeben.

Wenn ein Wert aus einem Formular stammt krist du den mit $_REQUEST


So das sollte erstmal als Einführung reichen, außerdem bin ich müde.

Doch eine Rüge gibts noch.
mymomo das nächste mal guck bitte vorher ob es nicht schon was zu diesem Thema gibt, denn das gibt es undzwar nicht zu knapp.
 
Wo Security Recht hat, hat er Recht.... es dürfte wohl kaum eine PHP-Frage geben, welche man nicht mit dem Posten eines Links abtun könnte.... dann können wir aber eine neue Domain bestellen....http://www.links.de passt dann wohl besser....ist aber schon weg.

Nichtsdestotrotz kann es auch nix schaden, mal a bisserl herumzustöbern, ... http://www.kindergarten.de ist nämlich auch schon vergeben :-) ,(und das ist von Fall zu Fall ergiebiger als das Erstellen eines Themas...wie du jetzt bemerkt haben dürftest)

Übrigens: Wirf bitte einen kurzen Blick in die Netiquette, mymomo, speziell in #12 ....Danke im Vorraus....und Herzlich Willkommen in unserer Gemeinde :)
 
Zurück