php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 12-10-2006, 14:06
robftp
 Registrierter Benutzer
Links : Onlinestatus : robftp ist offline
Registriert seit: Sep 2003
Beiträge: 31
robftp ist zur Zeit noch ein unbeschriebenes Blatt
robftp eine Nachricht über ICQ schicken
Standard Auführungstriche in Formularfeldern

Ich lese manchmal Variablen mit Hochkomma oder Anführungsstrichen ein. Dabei variiert die Anzahl dieser Zeichen. Nun lese ich die allerdings in Formularfeldern wieder aus und da ist meistens alles weg, was nach dem Zeichen kommt.

Die option magic_quotes_gpc steht dabei auf On und mit add- und stripslashes komm ich nicht weiter.

Kurzes Beispiel:

ich trage im Formularfeld Das '98 Abi ein. Heraus kommt über

normales echo: Das \'98 Abi
echo in einem Formularfeld: \'Das
Mit Zitat antworten
  #2 (permalink)  
Alt 12-10-2006, 14:08
Benny-one
 Master
Links : Onlinestatus : Benny-one ist offline
Registriert seit: Jan 2002
Ort: Fulda
Beiträge: 5.700
Benny-one ist zur Zeit noch ein unbeschriebenes Blatt
Benny-one eine Nachricht über ICQ schicken
Standard

PHP-Code:
// Zu verwenden bei z.B. Datenbank Eintragungen
function validate_insert($string) {
    return 
addslashes($string);
}

// Bei Ausgabe als Text
function validate_print($string) {
    return 
stripslashes($string);
}

// Bei Ausgabe in einem Formularfeld
function validate_print_form($string$charset 'UTF-8') {
    return 
htmlspecialchars(stripslashes($string), ENT_QUOTES$charset);

Das Charset würde ich anpassen.
Mit Zitat antworten
  #3 (permalink)  
Alt 12-10-2006, 14:19
robftp
 Registrierter Benutzer
Links : Onlinestatus : robftp ist offline
Registriert seit: Sep 2003
Beiträge: 31
robftp ist zur Zeit noch ein unbeschriebenes Blatt
robftp eine Nachricht über ICQ schicken
Standard

Sorry, ich bin leider nicht so tief drin in der PHP-Welt. Mein Skript so aus und wie müßte ich es in diesem Fall anwenden?


PHP-Code:
<?
if($gesendet){

echo 
"<p>$username<br>\n";
echo 
"<input type=\"text\" size=\"15\"  value=\"$username\">";

}


?> 


<form action="<?php $PHP_SELF ?>" method="post">
<br>
<br>
<table width="750" border="0" bgcolor="#a2cfe8" cellpadding="5" cellspacing="0" align="center">
    <tr font class="text" bgcolor="#FFFFFF">
      <td width="170">Kürzel:</td>
      <td width="230"><input type="text" name="username"  size="15"></td>
    </tr>
    <tr>
      <td bgcolor="#e7e7e7" align="center" colspan="2">
      <input type="submit" name="gesendet" value="Anmelden" class="button">
      </td>
    </tr>
</table>
</form>
Mit Zitat antworten
  #4 (permalink)  
Alt 12-10-2006, 14:21
Benny-one
 Master
Links : Onlinestatus : Benny-one ist offline
Registriert seit: Jan 2002
Ort: Fulda
Beiträge: 5.700
Benny-one ist zur Zeit noch ein unbeschriebenes Blatt
Benny-one eine Nachricht über ICQ schicken
Standard

PHP-Code:
echo "<input type=\"text\" size=\"15\"  value=\"".validate_print_form($username)."\">"
Mit Zitat antworten
  #5 (permalink)  
Alt 12-10-2006, 16:13
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Benny-one
PHP-Code:
// Zu verwenden bei z.B. Datenbank Eintragungen
function validate_insert($string) {
    return 
addslashes($string);
}

// Bei Ausgabe als Text
function validate_print($string) {
    return 
stripslashes($string);

Hat dir schon mal jemand gesagt, dass es zum schlechten Stil gehört eine Funktion zu schreiben, die nur ein Wrapper für eine andere Funktion ist, weil Code dadurch schwerer nachzuvollziehen ist?!

Zitat:
Original geschrieben von robftp
Die option magic_quotes_gpc steht dabei auf On und mit add- und stripslashes komm ich nicht weiter.
Abschalten den Müll, fliegt eh mit PHP6 raus die Einstellung, und beim Einfügen in die Datenbank mysql_real_escape_string auf jede Var anwenden ... Problem gelöst
Mit Zitat antworten
  #6 (permalink)  
Alt 13-10-2006, 14:27
robftp
 Registrierter Benutzer
Links : Onlinestatus : robftp ist offline
Registriert seit: Sep 2003
Beiträge: 31
robftp ist zur Zeit noch ein unbeschriebenes Blatt
robftp eine Nachricht über ICQ schicken
Standard

also mit der Funktion das klappt wunderbar. Das das aber nicht so toll sein soll hab ich es auch mit mysql_real_escape_string probiert, da ist die Ausgabe folgende mit der Eingabe Das '98 "Abi":

normale echo: Das \'98 \"Abi\"
echo in einem Formularfeld: Das \'98 \

hier das Skript von mir:

PHP-Code:
if($gesendet){
$username mysql_real_escape_string($username);

echo 
"<p>$username<br>\n";
echo 
"<input type=\"text\" size=\"15\"  value=\"".$username."\">";

}

?> 
magic_quotes_gpc hab ich natürlich auf Off gestellt und den Dienst neugestartet.
Mit Zitat antworten
  #7 (permalink)  
Alt 13-10-2006, 14:31
closure
 Master
Links : Onlinestatus : closure ist offline
Registriert seit: Mar 2006
Beiträge: 796
closure ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von robftp
Das das aber nicht so toll sein soll hab ich es auch mit mysql_real_escape_string probiert, da ist die Ausgabe folgende mit der Eingabe Das '98 "Abi":

normale echo: Das \'98 \"Abi\"
echo in einem Formularfeld: Das \'98 \
So solls ja auch sein. Du hast doch die sonderzeichen extra maskiert mit
mysql_real_esacpe_string. So sind die daten fertig um in der db gespeichert zu
werden. Das bedeuetet nicht dass sieimmer noch toll dazu geeignet
sind ausgegeben zu werden.

Dafür kannst du dann die slashes wieder entfernen. Das sind zwei verschiedene
paar schuhe.

greets
__________________
(((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")
Mit Zitat antworten
  #8 (permalink)  
Alt 13-10-2006, 14:40
robftp
 Registrierter Benutzer
Links : Onlinestatus : robftp ist offline
Registriert seit: Sep 2003
Beiträge: 31
robftp ist zur Zeit noch ein unbeschriebenes Blatt
robftp eine Nachricht über ICQ schicken
Standard

ok, hab dan mal eine nach mysql_real_escape_string() ein stripslashes() hinzugefügt. Die jetzige Ausgabe sieht so aus:

normale echo: Das '98 "Abi"
echo in einem Formularfeld: Das '98

scheinbar muss ich noch die Ausgabe irgendwie umschreiben aber wie?

Ausgabe:
PHP-Code:
echo "<input type=\"text\" size=\"15\"  value=\"".$username."\">"
variable steht doch in ".."
Mit Zitat antworten
  #9 (permalink)  
Alt 13-10-2006, 14:44
3DMax
 PHP Senior
Links : Onlinestatus : 3DMax ist offline
Registriert seit: Jan 2004
Beiträge: 1.916
3DMax ist zur Zeit noch ein unbeschriebenes Blatt
Standard

du bist ja lustig.
mysql_real_escape_string() nur verwenden, wenn du die daten in eine datenbank schreiben möchtest.

für die ausgabe htmlentities() verwenden
Mit Zitat antworten
  #10 (permalink)  
Alt 13-10-2006, 15:00
robftp
 Registrierter Benutzer
Links : Onlinestatus : robftp ist offline
Registriert seit: Sep 2003
Beiträge: 31
robftp ist zur Zeit noch ein unbeschriebenes Blatt
robftp eine Nachricht über ICQ schicken
Standard

ja, ich bin lustig :-). Korrekt jetzt funktioniert
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

WeltExplorer v1.0

WeltExplorer v1.0 ist ein Dateimanager zum Browsen und Operieren im Dateisystem. Bei installiertem cURL können Ordner und Dateien zu entfernten FTP-Servern hochgeladen bzw. von diesen heruntergeladen werden, etwa zum Erstellen von Backups oder Mirrorsites

06.02.2019 weltvolk | Kategorie: PHP/ File
PG Job Site Pro

> Job Site Pro - web-basiertes Programm, auf PHP/MySQL für Erstellung der funktionellen Job Board Site gebaut. Das hat erweitertes Management-System für Arbeitssuchenden und Arbeitgeber und kann für bestimmte Länder, Regionen oder einfach generelle Job Si

05.02.2019 submit@ | Kategorie: PHP/ Management
ModuleStudio ansehen ModuleStudio

Modellgetriebene Entwicklung von Erweiterungen für das Open Source Framework Zikula.

15.01.2019 Guite | Kategorie: PHP ENTWICKLUNGSUMGEBUNG
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 15:35 Uhr.