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, 13: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, 13: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, 13: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, 13: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, 15: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, 13: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, 13: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, 13: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, 13: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, 14: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

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

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 06:54 Uhr.