php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 17.08.2004, 20:31  
Gast
 
Beiträge: n/a
Standard Wie kann man das besser machen ?

Um Usereingaben etwas zu kontrollieren, sowie für spätere Ausgaben zu optimieren, hab ich ein kleines Funktiönchen:

Code:
function clean($var) {
	$var=strip_tags($var);	
	$t2=chr(13);
	$var=str_replace($t2, '
', $var);
	$var=trim($var);
	return $var;
}
Das funktioniert soweit auch ganz gut, entfernt die Tags falls vorhanden, trimmt alles und ersetzt das Sonderzeichen aus Textareas durch HTML Code. Allerdings bin ich mir fast sicher, dass es nicht optimal ist so zu arbeiten, da wenn ich jetzt eine SQL zusammenbastle, ich vorher jede einzelne Variable zur Funktion schicke
Code:
$temp = clean($temp);
$temp2 = clean($temp2);
$temp3 = clean($tem3);
$temp4 = clean($temp4);
...
$temp_n = clean($temp_n);
Wer toll wenn mir jemand einen Tip geben könnte wie ich diesen Anfänger Code etwas professioneller gestalte. Wer echt super.
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 17.08.2004, 22:40  
Gast
 
Beiträge: n/a
Standard

Hallo,
ob sich folgender Tip eignet, kann ich nicht beurteilen, dafür weiss ich zuwenig über deine Programmstruktur.
Anstatt n $temp Variablen zu verwenden, sammelst du alle Daten in einem Array $temp[], das du der Funktion übergibst. Dazu musst du deine Funktion nur ein wenig anpassen und fertig.
Wie gesagt, für weitere Möglichkeiten der Optimierung solltest du mehr von deinem Programmaufbau erläutern.
 
Alt 17.08.2004, 23:08  
Gast
 
Beiträge: n/a
Standard

PHP-Code:
function clean($array) {
    foreach(
$array as $elem) {
        
$elem=strip_tags($elem);   
        
$elem nl2br($elem);
        
$elem=trim($elem);
        
$return_array[] = $elem;
    }
    return 
$return_array;
}

$temp[] = $tem1;
$temp[] = $tem2;
$temp[] = $tem3;
$temp[] = $tem4;
...
$temp[] = $temN;

$return clean($temp); 
das zuweisen vom array $temp kann auch über eine Schleife vereinfacht werden
so in der art wäre mein Ansatz
 
Alt 17.08.2004, 23:28  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

du kannst natürlich auch direkt das array $_POST an die funktion übergeben.

grüße ben
imported_Ben ist offline  
Alt 18.08.2004, 09:48  
Gast
 
Beiträge: n/a
Standard

Die Übergabe von $_POST habe ich mir auch schon überlegt, aber wie mach ich das mit den Indizies?

Heut steht da mal text1, morgen text2....ich muß doch wieder in die gleichen Werte speichern.[/code]
 
Alt 18.08.2004, 10:22  
Gast
 
Beiträge: n/a
Standard

du brauchst halt irgend nen muster .. wenn der string zB immer mit "text" an-
fängt und danach ne zahl hat, kannste ja mit foreach() durchrattern und nen
regulären ausdruck überprüfen .. dann haste dein textX ..
 
Alt 18.08.2004, 11:58  
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse:
Fortgeschritten
Basti
Standard

Hi.

Also, von einem Zugriff auf $_POST oder auch $_REQUEST in der Funktion rate ich ab. Die Funktion bleibt so flexibler und die Verwendung transparenter.

nl2br() wurde bereits genannt, ist jedoch auch nicht ganz sauber. Es gibt drei unterschiedliche Codierungen für den Zeilenumbruch: ASCII 13 auf unixoiden Systemen, ASCII 10 auf dem Mac und ASCII 10 ASCII 13 auf Wodows-Systemen. Du hast nur ASCII 13 behandelt, nl2br() übersieht den Mac auch total. Des Weiteren setzt du den Tag
ein. Das ist etwas antiquiert *g ->
.

Ansosnten: Falls du tatsächlich nur auf externe Daten (via $_REQUEST etc.) zugreifen möchtest, dann solltest du noch mit ini_get() die Einstellung von magic_quotes_gpc überprüfen und entsprechend reagieren. Ist diese Option angestellt, dann kommen alle externen Variablen 'escaped' rein: Den Zeichen ', " und \ wurde ein Backslash vorangesetellt.

Basti
Basti ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Besser: Datum mit PHP oder MySQL? SilentSight PHP Tipps 2008 16 21.07.2008 14:33
*ich will auch* linux besser als vista LOL phpdummi Server, Hosting und Workstations 6 30.06.2007 18:17
Neuer IE7 besser als FF? mark_gebert Off-Topic Diskussionen 3 13.11.2006 19:49
Abfrageergebnis besser verarbeiten HalliGalli PHP Tipps 2006 2 17.05.2006 10:11
Lange Seite, wie gehts besser? PHP Tipps 2005-2 0 05.08.2005 14:42
Seite zu lang, wie gehts besser? PHP Tipps 2005-2 0 05.08.2005 14:41
Besser Programmieren (!?) PHP Tipps 2005 12 04.05.2005 20:46
Was ist besser Photoshop 7.0 oder Fireworks von Macromedia ? Off-Topic Diskussionen 14 25.02.2005 12:21
[Erledigt] [OT] besser eine Tabelle mit mehr Spalten oder aufteilen ? Datenbanken 1 22.10.2004 17:26
was ist besser? PHP Tipps 2004 5 12.09.2004 16:52
[Erledigt] Vokabelabfrage per Formular / Besser in PHP oder DB ? PHP Tipps 2004 5 21.08.2004 20:21
Welches Layout ist besser? themonk Off-Topic Diskussionen 38 04.08.2004 16:57
Ergebnisse einer Abfrage besser anordnen?? PHP Tipps 2004 8 24.06.2004 23:14

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
usereingaben trimmen

Alle Zeitangaben in WEZ +2. Es ist jetzt 05:50 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.