| | | | |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |||
| Erfahrener Benutzer Registriert seit: 23.12.2003
Beiträge: 243
![]() | Also eine universelle Funktion wäre vielleicht das sinnvollste, aber ich gehe mal stark davon aus das nicht nur Textfelder korrigiert werden sollen?! Ich denke du solltest auch auf die Typen achten, bei dir wird alles zum String gemacht, was ich nicht besonders sinnvoll halte. Ich prüfe meine Formularwerte immer nach Typ und danach auf Syntax, bzw. ich caste die Werte auf den entsprechenden Typ. // Edit: Zitat:
Außerdem ist noch zu beachten: Zitat:
| ||
| |
| | |
| Erfahrener Benutzer Registriert seit: 07.11.2003
Beiträge: 526
![]() | danke für deinen hinweis. also kann ich das mit dem array schonmal vergessen. werde dann einfach die normale verify($text) anwenden für jedes feld das überprüft werden soll. es handelt sich bei meinen feldern nur um textfelder. danke nochmal für deinen hinweis bezüglich der arraykopie in der foreach schleife. schade.
__________________ mfg Alexander Haim |
| |
| | ||
| Erfahrener Benutzer Registriert seit: 23.12.2003
Beiträge: 243
![]() | Zitat:
PHP-Code: Hier noch zum nachlesen: Passing by reference | |
| |
| | |
| Erfahrener Benutzer Registriert seit: 07.11.2003
Beiträge: 526
![]() | danke für deinen hinweis. von "call by reference" habe ich bisher noch nichts gehört. werde mal suchen und lesen. grob heisst das ganze also dass er anstatt eine kopie anzulegen die tatsächliche variable verwendet oder? das betrifft aber nur arrays oder? denn wenn ich meiner kombinierten funktion ein array übergebe, so handelt er INNERHALB der funktion alles gut ab, aber auf der seite auf der die funktion aufgerufen wird, wird nicht das zurückgegebene und korrigierte $_POST verwendet sondern das "originale. das würde ja für das sprechen was du geschildert hast. ABER: wenn ich ein explizites element von $_POST übergebe, beispielsweise $_POST['name'], so wird alles korrekt durchgeführt und auf der seite wo die funktion aufgerufen wird, nachher auch das korrigierte und von der funktion zurückgegebene $_POST['name'] verwendet. CONCLUSIO: das problem lag also NUR an der foreach schleife, welche mit der arraykopie arbeitet. wenn ich while verwenden würde so müsste es funktionieren (siehe dein beispiel). wenn ich trotzdem mit foreach arbeiten möchte, so muss ich einfach beim funktionsaufruf ein & vor die variable anfügen, dann verwendet foreach keine kopie sondern die originale variable/array. habe ich hier alles richtig verstanden und ist meine conclusio korrekt?
__________________ mfg Alexander Haim |
| |
| | |
| Neuer Benutzer Registriert seit: 10.08.2007
Beiträge: 12
![]() | An deiner Stelle würde ich aus Performancegründen array_walk() verwenden, wenn du eine bestimmte Prozedur auf alle Items in einem Array durchführen möchtest. Falls du deine verify() Funktion weiterhin verwenden möchtest, würde ich in Zeile 9 folgendes schreiben: PHP-Code: Gruß Tim
__________________ Betriebssystem: Ubuntu 7.10, Kernel v2.6.24-8-generic Webserver: LightTPD v1.4.13, PHP v5.2.4 + FastCGI + MySQLi v5.0.51a |
| |
| | |||||
| Erfahrener Benutzer Registriert seit: 23.12.2003
Beiträge: 243
![]() | Zitat:
Zitat:
Zitat:
Zitat:
// Edit PHP-Code: PHP-Code: | ||||
| |
| | ||
| Moderator Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse: Fortgeschritten ![]() ![]() | Zitat:
Er hat kein Problem mit call by value/reference sondern er hat einfach foreach nicht verstanden. Warum du hier zwanghaft ein call by reference einsetzen willst ist mir schleierhaft - ist doch mit Rückgabewerten viel schöner...
__________________ Today you...Tomorrow me. | |
| |
| | |
| Erfahrener Benutzer Registriert seit: 23.12.2003
Beiträge: 243
![]() | Ja du hast recht, ich habe nicht richtig gelesen, seine Funktion hatte den Rückgabewert. Das habe ich nicht beachtet, mein Ansatz hatte immer als Ziel die Originaldaten zu ändern. (Ich bin einfach zu vorbelastet mit Zeigern, da versuche ich wohl die unbewusst überall unter zu bringen Gut... möglich ist beides, kommt halt letztendlich darauf an wie er es anwenden will. |
| |
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| JS: Einführung - Javascript im Schichtenmodell | nikosch | Tutorials | 4 | 11.04.2009 17:06 |
| Rekursive Funktion bricht ab... | duras666 | PHP Tipps 2008 | 9 | 28.04.2008 11:36 |
| Funktion, die Default-Wert für NULL setzt | Zergling-new | Datenbanken | 3 | 13.11.2006 22:54 |
| Komplexe Funktion: +Übersichtlichkeit, -Performance | Jacks Rache | PHP Tipps 2006 | 3 | 07.06.2006 14:22 |
| Array in rekursiver Funktion auslesen | Gumfuzi | PHP Tipps 2007 | 17 | 15.11.2005 12:01 |
| PHP-GTK Tutorial | Beitragsarchiv | 9 | 02.11.2005 21:07 | |
| Rückgabewert einer rekrusiven Funktion | PHP-Fortgeschrittene | 7 | 06.10.2005 18:44 | |
| (schnellere) Funktion zum Zusammenfassen von CSS | PHP-Fortgeschrittene | 21 | 08.08.2005 16:47 | |
| In einer Funktion auf eine Funktion der Klasse zugreifen | phpbeginner | PHP Tipps 2005-2 | 2 | 28.07.2005 00:30 |
| Funktion in einer Funktion aufrufen? | PHP Tipps 2005-2 | 11 | 14.06.2005 15:14 | |
| [Erledigt] Array-Übergabe in Funktion | PHP Tipps 2005 | 1 | 08.05.2005 21:05 | |
| [Erledigt] Wie kann ich beliebig viele Werte an eine Funktion übergeben | PHP Tipps 2005 | 11 | 25.01.2005 10:44 | |
| Funktion() anwendung -bitte um Hilfe | PHP Tipps 2004-2 | 17 | 08.12.2004 11:58 | |
| [Erledigt] sql syntax error in funktion, kann aber nix finden :( | PHP Tipps 2004 | 10 | 20.07.2004 19:19 | |
| Referenz auf Funktion übergeben | PHP-Fortgeschrittene | 7 | 20.07.2004 09:51 | |
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| php input felder array zeiger bleibt auf letztem element, array_walk strip_tags |

Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.