Beiträge von Christian Koch

    Danke dafür :)


    angenommen, ich möchte einen SChritt weiter gehen ... und möchte, dass der User auch eine eigene Kategorie erstellt.

    Meine Idee diesbezüglich wäre diese: wobei ich weiß, dass die if-Anweisung da so falsch ist. Aber von der Idee passt es doch oder?

    wie könnte man dieses, wenn in $cat nichts drin ist (analog zu: es wurde keine kategorie angeklickt), dann nimm $catid ($catid = mysql_insert_id(); nachdem die neue Kategorie in der tabelle category hinzugefügt wurde) realisieren?

    ERROR habe ich doch drin?

    real_escape_string brauche ich doch nicht, weil ich keinen select* habe oder?

    richtig debuggen: ich habe doch alles mit einer if-anweisung versehen, um zu sehen wo der fehler liegt ...


    Lokalisiert habe ich den fehler ... er liegt im übertragen der Select-Anweisung in ein Array, denn es geschieht nichts. DIe SQL Skripte werden sauber ausgeführt, es wird auch etwas in der tabelle musik gespeichert, ich habe alle fehler eingeschaltet doch es kommt kein Fehler...

    Hey,

    ich habe nun die komplexen Ideen über den Haufen geworfen und nach Rücksprache mit meinem Dozenten reicht es, eine Tabelle, in der die Werte bereits vorgegeben sind (z.B. Musikkategorien) mit meiner Tabelle, die ich ja hier schon vorgestellt habe zu JOINEN.

    Der Code ist nun folgender:

    Die SQL Anweisungen werden ausgeführt, gibt also keinen Fehler. Leider entsteht kein Array mit Werten. Ich habe mir dieses mal besonders viel Mühe mit der Formatierung gegeben :)

    Um Fragen vorzubeugen: Ja, es wird in der Tabelle "Musik" ein Datensatz erzeugt und Ja, die Tabelle category ist gefüllt mit Datensätzen. Da kein Fehler auftritt, gehe ich nicht davon aus, dass mein SQL Code falsch ist. Ich finde aber den springenden Punkt nicht, wieso meine Select Abfrage keine Werte liefert =/

    Danke im Voraus Chris

    okay, ich hatte $page einfach 'start' zugewiesen :D


    Nun meine nächste Frage: htmlentities($str, ENT_QUOTES,'UTF-8');
    ist ja dafür da, dass wenn man $str = 'äöübla//' richtig anzeigen lässt. Wenn ich nun alles richtig anzeigen lassen möchte, muss ich dann am anfang eines jeden scripts $str = ( schreiben und am Ende wieder ) ?


    EDIT: Das habe ich jetzt einfach weggelassen, weil es eh keinen nennenswerten Unterschied machte.


    Ich habe nurnoch zwei Dinge zur vollständigen Lösung der Aufgabenstellung.

    Ich habe bereits geschrieben, dass der User ein Bild zu seinem "Lied" Uploaden kann. Die Daten zu dem Bild befinden sich in einer anderen tabelle (das Bild selbst liegt in einem pfad im website-Verzeichnis und nicht als BLOB in der Datenbank (wegen Performance - ja ich lerne dazu :) )

    Beim klicken auf "Speichern" werden einerseits die schon bekannten Musikdaten gespeichert und andererseits in einer zweiten Insert into Abfrage in eine andere Tabelle cover(idCover, bezeichnung, album, idLied, destinaiton) gespeichert. idCover wird automatisch erzeugt, bezeichnung kommt als dem file-titel, album ist das, was auch in die Tabelle musik eingetragen wurde, destination ist /upload_bilder/$bezeichnung. Das alles funktioniert auch einwandfrei.

    Nur idLied wird nicht übernommen und es steht immer eine 0 da. Aber genau das ist das wichtige an der Geschichte, dass ich später durch einen JOIN die Musiktitel mit den Bilden verknüpfen und ausgeben kann.

    Ich habe es schon mit $_POST['idLied'] versucht und selbst (sinnlos) mit einer Select abfrage - nichts =/

    EDIT2:

    Achja, fast vergessen :D Dank dir, habe ich trotz eingeschaltetem fehlerreport KEINE NOTICE UND KEINE FEHLERMELDUNG :D Außer halt da, wo das Script noch nicht 100% richtig ist :) DANKE

    Jo das habe ich alles gemacht, Variable $page am anfang mit $_GET['page'] initiiert

    Ich will ja lernen, aber es ist denke ich mal sehr mühsam sich so ein php Handbuch durchzulesen :) Für so etwas hat man experten-Foren, die einem vielleicht einen Tipp geben, wo etwas zu dem Thema stehen könne, so vermeidet man Redundanz ;)

    Folgendes: ich habe mal alle Fehler eingeschaltet. Es kommen nur diese Notices, dass eine Variable nicht belegt ist.

    Wi eumgeht man das? Kann man diese Notice nicht irgendwie "abfangen" und in eine log packen bzw. die Variablen von anfang an definieren, damit sie 1.) anfangs nicht Leer sind und 2.) dennoch das tun, was sie sollen.?

    Wenn ich bei google mein Anliegen losschicke, bekomme ich genau solche Antworten, wie ich sie verwendet habe -> notice ausstellen =(


    PS: Ich verstehe jetzt auch, wieso nicht SELECT* :) Dank dir... Ich war die ganze Zeit am rätseln, was und wieso ... aber es ist quasi nur so, dass sich die Reihenfolge der Tupel in der Datenbank ändern kann und man dann im Prinzip die gesamte Datenbank mit durchgegangen ist, obwohl man dasmeiste davon nie wieder braucht ... Performance und so :) Seh ich das richtig?

    Hey,

    genau solche Kommentare wollte ich. Ich wollte keine Lösung des Problems, ich wollte einen Tip, wie ich mit dem Problem umgehen soll. - Danke dafür, ich blicke zwar noch nicht 100% durch, werde das aber mithilfe von google versuchen.

    Zum Thema "Select*". Ich habe SQL halt so gelernt in der Vorlesung, bach googlen von mysql_real_escape_string kamen nur Treffer, in denen ich nun weniger als Bahnhof verstand :) Wie gesagt ich habe das bei deinem (danke übrigens nochmal) Vorschlag gesehen aber wusste nicht genau wie das ganze Funktioniert.


    Also bisher funktioniert alles was ich möchte. Ich habe zusätzlich, um die Aufgabenstellung zu erfüllen, eine zweite Tabelle angelegt: cover(idCover(PK), name, album, idLied, pfad).

    Mein Plan: beim ausfüllen des Formulars wird zusätzlich noch ein "Bild-Upload" angeboten. Dieser Bild Upload speichert den Namen des Bildes(xxx.jpg), das Album, das man angegeben hat, den Pfad, bestehend aus "upload_bilder/$name". Nun möchte ich die beiden Tabellen theoretisch Verknüpfen. musik.idLied = cover.idLied quasi.

    Und das Script zum Bildupload

    Ich hoffe diesmal ist die Formatierung halbwegs richtig :)

    Ich werde nun versuchen, deiner debugging Anleitung zu folgen, hoffe aber, auch wenn die Fragen banal sind, dass du nicht böse wirst. Verzeih mir meine Dummheit =(

    ja okay ... ich versuche mein bestes, versprochen :)

    deine Version hat den selben bug wie meine ganz alte. Es wird nichts gespeichert =(

    http://localhost/Pruefung/index.php?page=edit&idLied=19 <--- sorry hatte die localhost kopiert

    wenn man da auf OK klickt, kommt man zwar in page=edit aber geupdated wird da nichts =(

    PS: es funktioniert mit folgendem code: ich hoffe er ist ausreichend gut formatiert :)

    hey ich hab das grade etwas anders gemacht aber bei mir hat's bis auf die radios auch geklappt ... also ich konnte die daten ändern, nur das radio nicht ... das hat mir gefehlt, was du gepostet hast ...

    mein code war bis eben so:


    ich will ja auch was lernen, du wollst mir auch keine vorlagen schicken, obwohl ich auch dankbar bin dafür was du bereits getan hat ...

    aber ich stand halt auf dem schlauch, was wieso nicht ging ...

    Ich habe das mal so gemacht, wie du oben gepostet hast, nur dass ich beide Buttons aktiviert habe :) danke dafür ...

    in der edit.php wird die idLied auch entgegen genommen und der Datensatz auf die einzelnen formulare verteilt angezeigt. Nun wird bei einem Klick auf OK aber der Datensatz nicht gespeichert =( ich verstehe nicht, wo der fehler liegt ... ich habe keine hyperlinks mehr um buttons gelegt. Lediglich ein Formular angelegt. Wieso tut es nicht das was ich möchte? =(

    mensch ... das soll keine meeeeega php seite werden, wir hatten 5 vorlesungen lang php und mySQL mit den geringsten anforderungen ... ich habe die notice abgestellt, damit kein "fehler" kommt, wenn die variablen nicht deklariert sind ... nur aus diesem grund ... wie gesagt diese website wird NIEMALS online kommen, ich muss einfach eine seite schreiben, mit der man auf eine datenbank zugreift, gewisse abfragen macht und durch einen Knopfdruck ein CSS attribut ändert ... mehr muss die nicht können ...

    ich wollte das ganze etwas "hübscher" gestalten ... aber es tut mir leid, ich nerve hier im forum nicht weiter Profis. Ich habe kein plan von HTML und PHP, weiß auch nicht, wo ich ansetzen soll, also lassen wir das ganze und fertig !

    okay vielen Dank für die Hilfe ... dann haperts wohl an HTML ... man kann das natürlich auch nett sagen, aber dafür war meine Anfrage an Hilfe wahrscheinlicheinfach nicht entsprechend. Sorry für die dreistigkeit, einfach wissen zu wollen, ob es möglich ist bei <input action=" statt update.php update.php?page=1 o.ä. hinzuschreiben ... vielen Dank!

    Dann kann das hier wohl zugemacht werden

    PS ich wollte nichts korrigiert haben, ich wollte einfach nur wissen, an welcher Stelle jetzt das Problem liegt ... und das geht wahrscheinlich am besten, wenn derjenige den gesamten code hat ...

    Hey Leute,

    ich bin gerade an einem Uniprojekt am basteln. Es gibt eine Note auf das Ergebnis.

    Nun habe ich eine website gebastelt, die designed und alles ist chick. Leider funktioniert das wichtigste nicht: das eintragen von form daten in eine sql Datenbank.

    ich verwende xampp mit phpmyadmin (ich glaube die neueste Version).


    Ich raff das nicht mit POST und GET ... ich habe verstanden, dass GET die Werte in der Adresszeile wiedergibt und nicht durch einen header. bei POST werden diese durch einen header weitergegeben. Soweit so gut. ich habe einmal eine php datei, die mir die Tabelle, die bisher erschaffen wurde ausgibt per while Schleife etc. Neben jedem datensatz in der Tabelle ist ein Button, mithilfedessen ich die idLied des jeweiligen Datensatzes übertragen möchte, um den datensatz in einer eigenen tabelle anzuzeigen/zu editieren. Nun ist es so, dass wenn ich auf den "edit" button klicke, der eigentlich ein submit button ist mit nem anderen namen und value, bei der GET Methode alles übergeben wird und ich alles sehen kann und bei der POST methode nicht

    Es ist natürlich klar, dass ich in beiden phps die Methode angleiche.

    Jetzt kommt das Mysterium, was ich nicht verstehe:

    Code
    xxx/index.php?page=edit&idLied=X

    wird übertragen aber nicht entgegengenommen von der edit.php! Somit stehen keinerlei Werte in der edit-Tabelle.

    wieso ist das so?
    ich stehe absolut auf dem schlauch... ich habe schon 1000 google seiten zum Thema Post und GET gelesen aber irgendwie komm ich nicht auf das Ergebnis =(

    Der Link zur Website befindet sich ganz unten!

    view.php

    edit.php

    http://chr1skayone.dyndns.biz/Pruefung/index.php?page=view das hier ist bis ich den PC ausschalte der link zut view.php.

    Danke Chris