Tabelle (SQL) editieren

  • Hallo,
    ich habe mit auf php-eifach.de und phpeasystep.com Informationen gesucht, wie ich eine Tabelle Editieren kann (mit Formular und input-, textarea-felder).

    Leider funktionieren diese beide irgendwie nicht. :(

    Weiss jemand von euch, wie man sich sowas erstellt bzw. wo man so etwas als Tutorial durchmachen kann? Am besten sollte man die Domain (http://www.domain.de/edit.php?title=artikelname) eingeben, und so editieren können.

    Falls meine Schreibweise zu komisch ist, kann ich das gut verstehen. :D Hoffe, dass mir jemand helfen kann. :)

    Gruss, Hannes

  • Danke! Herzlichen Dank! Das hilft mir schon sehr weiter. :) Nun ist nur noch mein Problem, dass ich - bei einem Formular den Titel via GET holen möchte, damit ich den im URL eingeben kann, aber den Inhalt der Seite via POST, um ihn in einem Formular abzusenden. Da hängts bei mir - irgendwie komme ich da nicht weiter, und auf dem selfhtml-forum haben mich immer alle nur angeschnautzt, ich solle nicht so dumme Fragen stellen. :(

  • ich hab die Frage jetzt nicht so ganz verstanden, also kann ich nur raten was du gemeint hast

    Code
    $titel = 'kontakt';
    echo "<form action=\"seite.php?titel=".$titel."\" method=\"post\">\n";

    Somit kannst du variablen über GET weiterschicken und trotzdem über POST das Formular verschicken

    Something big is coming. And there will be pirates and ninjas and unicorns...

  • Ja, so meinte ich das.
    Also:
    Man kann einen Artikel zum Bearbeiten abrufen (http://www.domain.de/edit.php?title=hiertitel)
    Dann kann man via ein Formular (von der SQL-Datenbank) die Dateien in der Zeite "title" bearbeiten.
    Un da kommt mein Problem.
    Wo kann ich das nachlesen, bzw. wie mache ich da einen Code, dass ich das kann?

  • also wie du das weiterschicken kannst mit GET und POST habe ich dir gezeigt.
    den UPDATE-Befehl hast dir sudeki geschrieben
    jetzt musst du das nur noch zusammenfügen
    versuch es einfach mal und wenn es nicht klappt, kannst du dich ja wieder melden ;)

    Something big is coming. And there will be pirates and ninjas and unicorns...

  • Wie geschrieben ein Link machen z.B.

    Code
    <a href="index.php?get=e_kontakt>Edit Kontakt</a>


    Und dann lässt du per switch o.ä. eine seite includieren für e_kontakt
    auf dieser seite gibt es folgendes

    Hierbei ist nun get also 'e_kontakt' die table ;)
    Nur als kleines Beispiel[nicht auf sicherheit bedacht!], kein Gewähr weil ich grade nebnbei telefonier und zugeredet werde^^

  • Danke, werde ich gleich einmal ausprobieren...
    Grummel, wenn ihr Profis sowas macht, sieht das immer so leicht aus. Doch selbst dahinter komm' ich einfach nicht :(

  • Habe diesen Code nun mal nach meinen Vorstellungen geändert, und das gleich komplett falsch. :(

    Was hab ich denn falsch gemacht?

  • Einfach nur einmal <form method="post" action=""> etc...

    kein <form method="GET">

    Durch den link

    Code
    [url='index.php?get=artikel_inhalt&id=23']Diesen Artikel editieren[/url]

    Sendest du 2 Get Parameter, einmal "get", welcher artikel_inhalt führt, mit diesen würde ich z.B. eine datei includieren beispiel:

    Code
    if($_GET['get']=="artikel_inhalt") {
      include('artikel_edit.php');
    }

    Und in dieser artikel_edit.php, verarbeiten wird z.B. den 2. Parameter namens 'id' der den wert 23 führt

    erstmal das eingabe feld für änderungen (artikel_edit.php):

    Code
    <form method="post" action="">
    Titel: <input type="text" name="titel">
    Text: <textarea name="inhalt" cols="4" rows="40"></textarea>
    <input type="submit" name="kk" value="Ändern">
    </form>


    und dann das eintragen:

    Also im ganzen:
    Die Datei artikel_edit.php wird geladen dort drin ist vorhanden:
    - Formular für die Änderungen
    - Verarbeitung/Durchführung der Änderungen

    wichtig: das ist nun nicht auf sicherheit bedacht, es sollten unbedingt sicherheitsabfragen eingebaut werden, es ist ledeglich eine Beispiel! :wink:

  • Danke, doch nun steht da:

    Parse error: syntax error, unexpected '{' in /home/www/web1/html/amg/test.php on line 12

  • Mein Fehler ;)
    Habe eine Klammer vergessen, so:

    Der jeweilige Artikel der geändert wird, hat hierbei im id Feld in der mysql-tabelle die id 23 (wichtig in diese Beispiel Abfrage)

  • Ich verzweifle jetzt dann. :( Nun hab ich folgendes eingegeben, genau das:


    Ich habe es nach dem Title geordnet, damit man es mit dem Title auch aufrufen kann. Aber nun kommt wieder so eine dämliche, meilenlange Fehlermeldung:

    Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/www/web1/html/amg/test.php on line 11

  • Ach, verzeih, ich glaube ich bin schon zu übermüde, die '' müssen noch Weg bei WHERE:

    Du musst hier mit id arbeiten, außer du würdest den link so gestalten:

    Code
    [url='index.php?get=artikel_inhalt&e_titel=mein_titel']"Mein Titel" editieren[/url]

    dazugehöriger code:


    Dabei muss "Mein_Titel" der Titel in der Datenbank sein.

  • So, nun hoffentlich meine letzte Belästigung an dich. :)


    Damit sollte doch die Variante 2 funktionieren?
    "Mein Titel" editieren
    oder? Aber irgendwie tut das nicht... Kannst du die vielleicht das noch ein letztes Mal anschauen?

  • Naja, weil das in der if-Zeile ein POST und kein GET sein muss:

    So und nicht anders (du veränderst dein Code immer fälschlich, kopiere den Code)
    und in der Tabelle der Datenbank muss ein Datensatz bestehen wo der title=Mein_TItel ist.

  • Vielen herzlichen Dank, dass du dir dafür Zeit genommgen hast. Ich war auf einem Forum, und habe ebenfalls nach dem gefragt. Dort hiess es "Das ist sehr kompliziert. Schreib auf, wie viel du dafür bezahlen würdest." Ich traute meinen Augen nicht, und wechselte gleich. :D Schön zu wissen, dass ich hier Leute finde, denen man trauen kann und welche sehr grösszügig sind. Vielen, vielen Dank!

  • Ähm, dringends zu empfehlen wäre die anwendung von

    mysql_real_escape_string
    mysql_error

    Und frage an radio eriwan: Welchen sinn macht es, die db-verbindung herzustellen, wenn isset false liefert?