Mysql Abfragenausg. als Hyperlink u. Checkboxprob

Hello!

Nachdem das mit der Mysql-Ausgabe im vordefinierten Frame jetzt funktioniert hab ich gleich zwei weitere Problemchen:

Möchte ich gern dass die Ergebnisse der Mysql Abfrage als Hyperlink ausgegeben werden um auf auf andere Pages zu verweisen.

Geb ich dem User die Möglichkeit mit einem Formular selbstständig neue Einträge in die Datenbank zu schreiben und dabei hab ich neben Namensfeldern auch eine Checkbox welche je nachdem ob angehäkelt oder nicht einen bestimmten Wert in die Datenbank liefert. Soweit so gut funktioniert das auch. Wenn der User dann später etwas an seinen Eingaben ändern möchte werden die Feldinhalte wieder aus der Datenbank heraugelesen und ins Formluar eingetragen um dort die Änderungen machen und übernehmen zu können - auch das funktioniert, lediglich die Checkbox bleibt IMMER „leer“ egal welcher Wert bei dem Datenbankfeld (checkbox) steht.

Kurz gefasst:

Die Übernahme des Werts der Checkbox in die Datenbank funktionert aber der umgekehrte Weg des Auslesens des Wertes der Datenbank und der anschließenden Darstellung in der Checkbox nicht.

Werd den Code später posten, vielleicht kann mir ja jemand allgemein schon nen Tipp geben?

lg

maxi

Moin,

Möchte ich gern dass die Ergebnisse der Mysql Abfrage als
Hyperlink ausgegeben werden um auf auf andere Pages zu
verweisen.

Einfach einen Hyperlink ausgeben (HTML) und die benötigten Werte da rein schreiben. PHP kann keine Links, PHP gibt nur einen HTML-Code aus, der dann vom Browser als Link interpretiert wird.

lediglich die
Checkbox bleibt IMMER „leer“ egal welcher Wert bei dem
Datenbankfeld (checkbox) steht.

Vermutlich gibst Du im Falle, dass die Checkbox ein Häkchen haben soll, nicht zusätzlich aus „checked=‚checked‘“. Auch das wird erst von HTML im Browser interpretiert, aber PHP muss das an der richtigen Stelle ausgeben.

Die Übernahme des Werts der Checkbox in die Datenbank
funktionert aber der umgekehrte Weg des Auslesens des Wertes
der Datenbank und der anschließenden Darstellung in der
Checkbox nicht.

„geht nicht“ ist keine Fehlermeldung. Hast Du das denn auch entsprechend umgesetzt? Wenn Du das nicht so in Auftrag gegeben hast, dann kann das ja auch nicht funktionieren.
Wenn Du schon was geschrieben hast, dann zeig mal Deinen Code.

Werd den Code später posten

Warum später posten, wenn Du jetzt die dazugehörige Frage stellst?

vielleicht kann mir ja jemand
allgemein schon nen Tipp geben?

Naja, dann sollte meine Antwort ja passen! :smile:

Grüße,
-Efchen

Liebes Efchen!

Jetzt bitte nicht falsch verstehen aber 90% deines Posts kann man in die Tonne kloppen :wink:

Die restlichen 10% die zur Problemlösung beitragen, das Definieren des Links durch Werte und der Tipp mit dem Wert „checked“, sind verwertbar.

„Geht nicht“??? Wenn schon zitiert wird dann bitte richtig also „funktioniert nicht“ und wenn die Rückgabe des Wertes nicht funktioniert ist dies allerdings eine Fehlermeldung (zwar nicht sehr detailliert) sonst würd´s ja funktionieren, oder?

Wenn ich was nicht richtig in Auftrag gegeben hab???
Das ist ja genau die Frage, wo der Fehler liegt!

Warum ich den Code erst jetzt poste liegt vielleicht daran dass ich ihn grad nicht bei der Hand hatte weil ich den Anfangspost ev. von einem anderen Rechner aus geschrieben haben könnte???hmmmm vielleicht deswegen???Es hatte schon seinen Grund!

Mit allgemeinen Tipp, war gemeint dass vielleicht jemand seine Variante der Lösung postet und ich diesen Code dann mit meinem vergleichen können würde um auf den Fehler zu kommen denn so würd ich mir auch diesen post jetzt ersparen, aber macht ja nichts manche denken halt nicht um die Ecke :wink:

Ach ja, deine Antwort passt, allgemeiner und an Informationsleere ist das hier nicht mehr zu überbieten :wink:

so und hier mein Code (denn jetzt hab ich ihn ja bei der Hand)!!!

Das ist der code um den checkboxwert in die DB zu liefern:

<?php if (isset($_POST["gesendet"]))
{ mysql\_connect("","root"); mysql\_select\_db("firma"); if(isset($\_POST["check"])) { $\_POST["vt"]="ja"; } else { $\_POST["vt"]="nein"; } $sqlab = "insert personen" ."(name, vorname, personalnummer," ."gehalt, verfuegbarkeit, geburtstag) values " ."('" . $\_POST["na"] . "'," ."'" .$\_POST["vn"] . "'," ."'" .$\_POST["pn"] . "'," ."'" .$\_POST["ge"] . "'," ."'" .$\_POST["vt"] ."'," ."'" .$\_POST["gt"] . "')"; mysql\_query($sqlab); $num = mysql\_affected\_rows(); if ($num\>0) { echo " "; echo "Es wurde 1 Datensatz hinzugefügt"; echo " "; } else { echo " "; echo "Es ist ein Fehler aufgetreten!"; echo "Es wurde kein Datensatz hinzugefügt"; echo " "; } } ?\> Geben Sie bitte einen vollständigen Datensatz ein und senden Sie das Formular ab: Name Vorname Personalnummer Gehalt Geburtstag (JJJJ-MM-DD) Verfügbar? [Zur Auswahl](Datensatz.html) Der funktioniert ja auch! Hier der zum Auslesen (so wie ich`s verstanden hab): db\_einzel\_a Wählen Sie aus welcher Datensatz geändert weden soll: <?php mysql_connect("","root");
mysql\_select\_db("firma"); if ($dsatz["verfuegbarkeit"]="ja") { isset ($\_POST["check"]); } else { ($\_POST[""]); } $res = mysql\_query("select \* from personen"); $num = mysql\_num\_rows($res); echo " "; //Überschrift echo "AuswahlName"; echo "VornameP-Nr"; echo "GehaltGeburtstagVerfügbarkeit"; while ($dsatz = mysql\_fetch\_assoc($res)) { echo ""; echo ""; echo "" . $dsatz["name"] . ""; echo "" . $dsatz["vorname"] . ""; echo "" . $dsatz["personalnummer"] . ""; echo "" . $dsatz["gehalt"] . ""; echo "" . $dsatz["geburtstag"] . ""; echo "" . $dsatz["verfuegbarkeit"] . ""; echo ""; } echo ""; ?\> [Zur Auswahl](Datensatz.html) Aber da ist irgendwo der Hund drinnen :frowning: Ich bekomm keine Fehlerausgabe und man sieht auch keine Veränderung egal welchen Datensatz man auswählt. Vielleicht findet ja einer den Fehler... TIA + lg maxi

Moin,

Jetzt bitte nicht falsch verstehen aber 90% deines Posts kann
man in die Tonne kloppen :wink:

Nee, schon klar. Das sagt derjenige, der es nicht weiß und deswegen eine Frage stellt. Wenn Du das alles schon gewusst hast, dann erübrigt sich doch die Frage, oder?

Oder die Frage ist missverständlich gestellt.

Die restlichen 10% die zur Problemlösung beitragen, das
Definieren des Links durch Werte und der Tipp mit dem Wert
„checked“, sind verwertbar.

Na dann viel Spaß damit. Und wenn 10% meiner Antwort 100% Deines Problems lösen, was ist dann gegen meine Antwort einzuwenden?

„Geht nicht“??? Wenn schon zitiert wird dann bitte richtig
also „funktioniert nicht“ und wenn die Rückgabe des Wertes
nicht funktioniert ist dies allerdings eine Fehlermeldung
(zwar nicht sehr detailliert) sonst würd´s ja funktionieren,
oder?

Die Frage ist aber doch, warum das nicht funktioniert. Das kann sein, weil Du irgendwas falsch gemacht hast, das kann aber auch sein, dass Du es gar nicht gemacht hast. Und ohne Code kann man das nicht beurteilen, d.h. es fehlen wichtige Informationen zur Beantwortung Deiner Frage.

Wenn ich was nicht richtig in Auftrag gegeben hab???
Das ist ja genau die Frage, wo der Fehler liegt!

Woher soll das jemand wissen, der den Code nicht sieht?
Dann kann man nur vermuten und der Fragesteller denkt, nur 10% der Antwort wäre verwertbar.

Warum ich den Code erst jetzt poste liegt vielleicht daran
dass ich ihn grad nicht bei der Hand hatte

Und ich hab meine Glaskugel nicht zur Hand gehabt - daher nur 10% Brauchbares.

hmmmm vielleicht deswegen???

Dann kann das Problem ja nicht so wichtig sein.

Mit allgemeinen Tipp, war gemeint

Naja, ich habe ja genug allgemeine Tipps gegeben.

Ach ja, deine Antwort passt, allgemeiner und an
Informationsleere ist das hier nicht mehr zu überbieten :wink:

Das sagt der, der ahnungslos ist und die Experten um Hilfe bittet.

Der funktioniert ja auch! Hier der zum Auslesen (so wie ich`s
verstanden hab):

Aber da ist irgendwo der Hund drinnen :frowning:

Ja, wie ich schon sagte - da ist nirgendwo was drin, was die Checkbox setzt, wie soll das dann auch gehen?

Ich schrieb in meinen 10% (oder sind das die 90%, die Du nicht verstanden hast?):
Vermutlich gibst Du im Falle, dass die Checkbox ein Häkchen haben soll, nicht zusätzlich aus „checked=‚checked‘“. Auch das wird erst von HTML im Browser interpretiert, aber PHP muss das an der richtigen Stelle ausgeben.

Du schreibst nirgendwo, dass die Checkbox gesetzt werden soll und Du entscheidest auch nicht, in welcher Abhängigkeit sie gesetzt werden soll. Wieso erwartest Du dann, DASS sie in irgendeinem Fall gesetzt ist?

Abgesehen davon ist in dem Code nichtmal eine Checkbox!?

Was sollen isset ($_POST[„check“]); oder ($_POST[""]); bedeuten? Das ist sinnfrei. Und ich werde immer noch nicht das Gefühl los, dass Dir nicht ganz klar ist, wann PHP ausgeführt wird und wann HTML. Aber auch das hab ich ja schon in den 90% geschrieben, die Du nicht verstanden hast.

Ich weiß gerade gar nicht, wo ich bei Dir anfangen soll, Dir scheint grundlegendes Verständnis zu fehlen von Programmierung allgemein, vom Ablauf ab den Klicken eines Links über die Ausführung von PHP bis hin zur Anzeige im Browser, und von PHP im Speziellen.

Da ist es schwer Dir mit etwas konkret zu helfen, wenn die Grundlagen nicht da sind.

Du kannst es aber gerne versuchen, Dein Problem nochmal zu verdeutlichen, wo Du nicht weiterkommst und wo es bei Dir hapert, vielleicht auch warum Du meinst, 90% meiner ersten Antwort nicht verstanden zu haben. Dann kann Dir vielleicht geholfen werden.

Freundliche Grüße,
-Efchen

Liebes Efchen,

es tut mir sehr leid wenn ich dich jetzt verletzt zu haben scheine denn sonst würdest du ja nicht in fast jeder Zeile auf meiner persönlichen Bewertung und prozentualen Verteilung deiner Antwort herumreiten aber nun gut, soll so sein.

Gerade weil ich deine Antwort verteilt und bewertet habe, ohne wie man an meiner Fragestellung sieht, von der Lösung meines Problems Ahnung zu haben, denn sonst würde das Problem ja nicht mehr bestehen, ist klar ersichtlich dass die abermals 90% deiner Antwort nichts zum eigentlichen Thema bzw. die Lösung beizutragen haben, denn meine persönlichen Einteilung habe ich auf menschlicher Logik begründet.
Alles klar soweit?

Ich hab kein Problem damit wenn 10% deiner Antwort 100% meines Problems lösen, is ja toll. Es ist lediglich als zukünftiger Tipp anzusehen um dir Zeit beim verfassen und dem Leser die Zeit des Lesens leere Zeilen zu ersparen, beider Seiten wäre damit geholfen.

Ja ja ,immer wieder die Ausrede auf die Glaskugel, absoluter Nonsens denn es ist absolut belanglos warum ich den Code nicht gepostet habe sondern die Tatsache das er anfangs nicht gepostet worden ist.
Deine Logik versteh ich nicht denn gerade weil das Problem wichtig ist poste ich es so früh wie möglich (auch ohne Vorhandensein von Code) um alsbald als möglich Tipps zu erhalten auch auf die Gefahr hin 90%igen vermeidbaren Nonsens zu lesen zu bekommen.
Somit wäre die Priorität des Problems hoffentlich klargestellt.

Stimmt, ich frage die Experten weil ich nicht weiter weiß, korrekt! Wieso verhältst du dich dann nicht wie einer? Nimm dir ein Beispiel am Vorposter, der hat´s auch geschafft.

Ich hab den „checked=‚checked‘“ Teil deswegen nirgends stehen weil

  1. ich es nach deiner Methode ausprobiert habe und sich da auch nichts geändert hat und

  2. weil ich beim oberen Code der den Wert in die DB schreibt auch nirgends ein checked vorkommt und es scheint zu funktionieren, oder?

Tut mir leid das Du das Gefühl nicht los wirst und ich verweise wieder auf den obigen meiner geposteten Codes, denn es scheint nicht sinnfrei zu sein sonst würde der Wert nicht in die DB geschrieben worden sein.

Aber du kannst mir ja netterweise schreiben wie du den Code formulieren würdest bzw. was wo zu ändern wäre, denn wie es scheint hast du dir ja meinen Code ganz genau unter die Lupe genommen.
Nebenbei hat HTML nichts mit Programmierung zu tun sondern ist eine Ausgabesprache. Wenn mein Problem unter Grundlagen fällt die laut deiner Aussage Voraussetzung wären dann wird sich wohl meine Annahme bestätigen das ich von deiner Seite keine brauchbaren Tipps erwarten darf, schade.

So und nun wieder zurück zum eig. Thema.
Ich denke ich hab von meiner Seite alles geliefert was zu Problemlösung beitragen könnte:

.) Wie, was funktionieren sollte
.) Wo es hapert
.) Den Code

ghlg

maxi

Hi,

.) Wo es hapert

leider am Grundverständnis.
allein schon,dass Du Usereingaben ungefiltert in die Datenbank schreibst, zeugt davon.

Gruß
Ingo

Moin,

es tut mir sehr leid wenn ich dich jetzt verletzt zu haben
scheine

Nein, hast Du nicht. Ich bin nicht verletzt, eher verärgert.

ist klar ersichtlich dass die abermals
90% deiner Antwort nichts zum eigentlichen Thema bzw. die
Lösung beizutragen haben

Du kannst es offensichtlich nur nicht beurteilen.

Ich hab kein Problem damit wenn 10% deiner Antwort 100% meines
Problems lösen, is ja toll.

Nein, 100% meiner Antwort helfen Dir dabei, das Problem zu verstehen und womöglich zu lösen.

Stimmt, ich frage die Experten weil ich nicht weiter weiß,
korrekt! Wieso verhältst du dich dann nicht wie einer?

Tu ich doch. Ich gebe Dir Tipps, wie Du das Problem angehen und lösen kannst. Verärgert bin ich nicht, dass Du Anfänger bist und wenig Ahnung von den Grundlagen hast, sondern weil Du daraufhin behauptest, 90% meiner Antworten sind Mist.

Ich hab den „checked=‚checked‘“ Teil deswegen nirgends stehen
weil

  1. ich es nach deiner Methode ausprobiert habe und sich da
    auch nichts geändert hat und

Und wie, glaubst Du, kann ich dann beurteilen, was Du falsch gemacht hast? Wenn der Codeschnipsel da nicht steht, dann muss die Expertenantwort logischerweise lauten, dass Du das vergessen hast.

  1. weil ich beim oberen Code der den Wert in die DB schreibt
    auch nirgends ein checked vorkommt und es scheint zu
    funktionieren, oder?

Beim oberen Code willst Du ja auch Nutzereingaben haben und nicht die gespeicherten Daten ins Formular übernehmen. Das ist doch auch was völlig anderes.
Abgesehen davon HAST Du das in dem ersten Codeteil sehr wohl drin!

es scheint nicht sinnfrei zu sein

Ich weiß grad nicht, worauf Du Dich beziehst, aber ich finds immer wieder toll, wenn Anfäünger den Experten versuchen, zu erklären, warum etwas so sein muss, nur weil es vermeintlich funktioniert, sie es aber nicht erklären können, warum das so ist.
Wie gesagt, ich habe keine Probleme damit, wenn jemand etwas nicht weiß, ich erkläre gerne und kriege sehr viele gute Antworten, aber wenn die Scripts von jemandem aus reinem Zufall funktionieren, ohne dass er erklären könnte, warum - …

Aber du kannst mir ja netterweise schreiben wie du den Code
formulieren würdest

Nein. Dran habe ich kein Interesse. Weil Du dann 2 Tage später die nächste Frage stellst, weil Du dann gar nichts lernst. Aber ich habe das Gefühl, Du willst auch gar nichts lernen, Du suchst nur jemanden, der Dir Deine Arbeit abnimmt. Dafür bin ich mir zu schade.

Nebenbei hat HTML nichts mit Programmierung zu tun sondern ist
eine Ausgabesprache.

Das musst Du *mir* nicht erklären. Was anderes habe ich sicher auch nirgends geschrieben.

Wenn mein Problem unter Grundlagen fällt
die laut deiner Aussage Voraussetzung wären dann wird sich
wohl meine Annahme bestätigen das ich von deiner Seite keine
brauchbaren Tipps erwarten darf, schade.

Lies nochmal nach.

Ich denke ich hab von meiner Seite alles geliefert was zu
Problemlösung beitragen könnte:

In diesem Beitrag war nichts Neues drin.

.) Wie, was funktionieren sollte

Das war tatsächlich schon am Anfang klar.

.) Wo es hapert

Weiß ich immer noch nicht außer „es geht nicht“. Was Du gemach hast, weiß ich nicht.

.) Den Code

Der hat sich ja nicht verändert. Wie Du Deine Checkbox versuchst, in Abhängigkeit der Inhalte aus der Datenbank zu setzen, weiß ich immer noch nicht. Soviel also zur Priorität Deiner Frage…

Versuchs nochmal. Eine Antwort kann auch immer nur so gut sein wie die Frage.

Viele Grüße,
-Efchen

Hi Ingo,

ich hab zwar keine Ahnung was mein scheinbar mangelndes Grundverständnis in Datenfilterung jetzt mit dem aktuellen Problem zu tun hat aber bitte. Außerdem interpretiert anscheinend auch jeder den zum Grundverständnis gehörenden Inhalt anders. Aber wenn wir schon beim Thema sind, warum sollte ich die Daten noch zusätzlich filtern bzw. was hat das für Vorteile? Mehr Sicherheit?

lg

maxi

Moin,

google mal nach „SQL Injection“.

Gruß,
-Efchen

Hi,

ich hab zwar keine Ahnung was mein scheinbar mangelndes
Grundverständnis in Datenfilterung jetzt mit dem aktuellen
Problem zu tun hat aber bitte.

es zeigt, dass Dir bereits Grundlagenwissen fehlt, ohne das man seine Programme gar nicht öffentlich zugänglich machen sollte.

Gruß
Ingo

Hi Ingo,

ich hab nirgends geschrieben dass ich irgendetwas der Öffentlichkeit zugänglich machen will aber dennoch hab ich sowieso vorgehabt nachdem das Grundgerüst der Page fertig ist mich mit dem Thema Sicherheit und SQL Injection zu beschäftigen. Mir ist bewusst dass der DB Zugriff auf root gesetzt ist und nirgendwo eine Verschlüsselung eingebaut ist, nur denke ich nicht dass es von Vorteil ist das Pferd von Hinten aufzuzäumen - die Funktion steht im Vordergrund, danach kommt die Sicherheit.

Nebenbei hab´ich mein Problem bereits gelöst und ich denke dass ich in einem speziell auf diesen Bereich ausgerichteten Forum besser aufgehoben bin, nichts für ungut.

dennoch

lg

maxi