WinFuture-Forum.de: Fehlermeldung ausgeben php - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Fehlermeldung ausgeben php Es soll eine Fehlermeldung erscheinen wenn Hochkomma benutzt wird


#1 Mitglied ist offline   Booster123 

  • Gruppe: aktive Mitglieder
  • Beiträge: 23
  • Beigetreten: 04. November 19
  • Reputation: 0

geschrieben 19. Februar 2020 - 15:04

Moin liebe Community,

mein Problem ist folgendes, ich habe auf einem webbasierten Programm eine Textbox, in der ich kein Hochkomma ' benutzen darf. Jedes mal wenn jemand einen Eintrag mit einem Hochkomma macht, kommt eine positive Rückmeldung, dass der Eintrag gespeichert wurde, wird er aber nicht. Nun meine Frage, wie kann ich dort eine Fehlermeldung anzeigen lassen und oder gibt es eine Möglichkeit das trotz Hochkomma der Eintrag gespeichert wird? Also eine negative Rückmeldung würde schon ausreichen :D
(arbeite mit Notepad++)


Vielen Dank im Voraus.


gruß booster123
0

Anzeige



#2 Mitglied ist offline   Gispelmob 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.591
  • Beigetreten: 14. August 15
  • Reputation: 392

geschrieben 19. Februar 2020 - 15:12

Die Frage ist wie und wo gespeichert wird. Eingaben mit Hochkomma kann man entweder filtern oder escapen, d.h. mit Zeichen versehen damit das Hochkomma trotzdem mit gespeichert wird. Dafür gibt es in MYSQLI z.b. real_escape_string.
AMD Ryzen 9 5950X, Asus ROG Strix X570-F Gaming, 32GB Corsair DDR4-3200, Asus Geforce GTX 3060 12GB, Creative Sound Blaster AE-7, 240GB SSD, 500GB SSD, 3x 1TB SSD, Win11 Home, 4x Acer G246HL Bbid, Logitech MX518 Gaming Mouse, Logitech G440 Mousepad, Logitech K120 Keyboard, Razer Tiamat 7.1 V2 Headset, Creative Inspire 5.1 5300 Soundsystem
0

#3 _Tumultus_

  • Gruppe: Gäste

geschrieben 19. Februar 2020 - 15:37

Da reicht doch schon htmlentities(). Einfach die entsprechende $_POST Variable da rein packen, fertig! Finde diese Variable in deinem Code und ändere sie. Wenn deine Textbox z.B. das Namen-Attribute "textfeld" hat, sollte da irgendwo im Code

$_POST["textfeld"]

zu finden sein. Dieses einfach in

htmlentities($_POST["textfeld"], ENT_QUOTES, "UTF-8")

ändern.

Im großen und ganzen bin ich dann aber doch etwas besorgt, weil dein Problem mir zeigt, daß es in deinem Formular keine Input-Bereinigung gibt! Cross Site Scripting und SQL Injections sind echte Gefahren, nicht nur auf dem Papier!

* Dem Fehler zufolge sind deine wahrscheinlich in einfache Anführungszeichen gepackt. Macht aber dann keinen Unterschied.
0

#4 Mitglied ist offline   Booster123 

  • Gruppe: aktive Mitglieder
  • Beiträge: 23
  • Beigetreten: 04. November 19
  • Reputation: 0

geschrieben 20. Februar 2020 - 13:41

Vielen Dank für die schnellen Antworten.

Es wird als .php datei gespeichert im Ordner und läuft mit einer mysql Datenbank.
Leider konnte ich mit den von euch gegebenen Tips nichts anrichten bzw. das Problem lösen, da ich auch nicht genau weiß an welcher Stelle ich es einrichten muss.




Danke nochmal
Gruß Booster
0

#5 Mitglied ist offline   Booster123 

  • Gruppe: aktive Mitglieder
  • Beiträge: 23
  • Beigetreten: 04. November 19
  • Reputation: 0

geschrieben 21. Februar 2020 - 11:32

Habe es jetzt mit mit dem Befehl stristr lösen können. sobald nun ein Hochkomma eingetragen wird, wird eine Fehlermeldung ausgegeben.


Vielen Dank nochmal an euch.

schönes Wochenende


gruß Booster123
0

#6 _Tumultus_

  • Gruppe: Gäste

geschrieben 21. Februar 2020 - 12:38

Sorry, hab deine Antwort erst jetzt gesehen. Ohne den Sourcecode zu sehen, kann dir leider keiner genau sagen, wo du was abändern mußt. Die htmlentities() Funktion hättest du wahrscheinlich an genau der gleichen Stelle benutzt, an der du stristr() eingefügt hast.
0

#7 Mitglied ist offline   Gispelmob 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.591
  • Beigetreten: 14. August 15
  • Reputation: 392

geschrieben 22. Februar 2020 - 21:09

Beitrag anzeigenZitat (Booster123: 21. Februar 2020 - 11:32)

Habe es jetzt mit mit dem Befehl stristr lösen können. sobald nun ein Hochkomma eingetragen wird, wird eine Fehlermeldung ausgegeben.

Was grundsätzlich erstmal richtig klingt, im Ergebnis aber falsch ist. Manchmal muss man ein Hochkomma eingeben weil es einfach an die Stelle gehört wo es ist. In deinem Fall müsste man dann extra falsch schreiben. Die beste Lösung ist eben das Hochkomma mit zu übernehmen. Vorschläge gab es ja bereits.
AMD Ryzen 9 5950X, Asus ROG Strix X570-F Gaming, 32GB Corsair DDR4-3200, Asus Geforce GTX 3060 12GB, Creative Sound Blaster AE-7, 240GB SSD, 500GB SSD, 3x 1TB SSD, Win11 Home, 4x Acer G246HL Bbid, Logitech MX518 Gaming Mouse, Logitech G440 Mousepad, Logitech K120 Keyboard, Razer Tiamat 7.1 V2 Headset, Creative Inspire 5.1 5300 Soundsystem
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0