Zurück tutorials.de > Tutorials > Programming - Tutorials > PHP Codeschnipsel

 
 
Hallo und herzlich willkommen! Tutorials.de ist eine Hilfe-Community mit dem Motto User helfen Usern. Als Gast verfügst Du über Schreibrechte in unseren Foren und Blogs. Du kannst dich aber gerne auch kostenlos registrieren und Teil unserer Gemeinschaft werden! Viel Spaß & Erfolg bei der Vermehrung deines Wissens :-)

Themen: 242.975 | Beiträge: 1.352.293 | Mitglieder: 169.418 (Stand 28.01.10) | Fragen zur Nutzung von Tutorials.de? Nutzungsregeln | Kontaktformular | Impressum

Jubiläums-Countdown 23.02 23.03 23.04 23.05 23.06 23.07 23.08 23.09


4 kostenlose Bücher bei unserer Buch-Verschenkaktion 03/2010
  KommentarAntworten (über Gastzugang)    
  KommentarAntworten (über Gastzugang)    
 
Tutorial-Optionen Ansicht
[PHP] Codeschnipsel: POST oder GET mit Namenprüfung in Variablen schreiben
[PHP] Codeschnipsel: POST oder GET mit Namenprüfung in Variablen schreiben
Veröffentlicht von yaslaw
02.02.10
[PHP] Codeschnipsel: POST oder GET mit Namenprüfung in Variablen schreiben

Mittels post oder get werden viele Information an das PHP-Script übergeben. Diese Variablen sollten aber nicht so weiter verwendet werden. AM besten man überträgt die Inhalte in einzelne Variablen. Man sollte auch nur die Inhalte übernehmen die man braucht und erwartet.

Jedesmal alles von Hand auszuprogrammieren kann relativ anstrengend werden
PHP-Code:
$a $_POST['a'];
$c $_POST['c']; 
nun, mittels einfacher Array-Funktionen kann man sich diesen Schritt automatisieren
PHP Code:
  1.  
  2.  
  3.  
  4.  
  5.  
//Liste aller erlaubten postitems
$allowedPost = array('c', 'b');
   
//Variablen zu allen erlaubten postitems erstellen
extract(array_intersect_key($_POST, array_flip($allowedPost)));

Hier hab ich es mal zu einem Beispiel erweitert, das man gleich ausprobieren kann
PHP Code:
  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
<?php
    // Diese Zeile simuliert die Post-Übergabe eines Formulars
    $_POST = array('a'=>11, 'b'=>22, 'c'=>33);
   
    //Liste aller erlaubten postitems
    $allowedPost = array('c', 'b');
   
    //Variablen zu allen erlaubten postitems erstellen
    extract(array_intersect_key($_POST, array_flip($allowedPost)));
   
    //Testausgabe um dieses Script zu testen
    echo "a: {$a}";
    echo "b: {$b}";
    echo "c: {$c}";
?>
__________________
Item: Ich lese keinen Code mehr, der nicht formatiert und mindestens in [CODE]..[/CODE] (besser noch den Tag der jeweiligen Sprache) gesetzt ist
Item: Formatiert den Code (auch SQL-Statements) sauber - dann kann man ihn auch lesen
Item: [PHP][MySQL]Bei Problemen das SQL-Statement in eine Variable schreiben, diese ausgeben und das Resultat in phpMyAdmin testen
Item: [PHP] Variablen innerhalb von Strings in komplexer (geschweifter) Syntax vereinfacht manchen String
Bewertung
 
 
Noch keine Bewertungen vorhanden
 

Tutorial-Optionen
 

  #1 (permalink)  
Von Matthias Reitinger an 06.02.10, 03:00
AW: [PHP] Codeschnipsel: POST oder GET mit Namenprüfung in Variablen schreiben

Zitat:
Zitat von yaslaw
Diese Variablen sollten aber nicht so weiter verwendet werden.
Wieso nicht?

Zitat:
Zitat von yaslaw
AM besten man überträgt die Inhalte in einzelne Variablen.
Dieses Vorgehen finde ich nur bedingt empfehlenswert. Wird weiter unten im Quellcode die Variable $a verwendet, ist die Herkunft ihres Inhalts nicht unmittelbar klar. Dadurch kann man leicht übersehen, dass es sich um eine Benutzereingabe handelt und auch als solche behandelt werden muss (Überprüfung auf gültige Syntax, unerlaubte Zeichen etc.).

Grüße,
Matthias
Mit Zitat antworten
  #2 (permalink)  
Von Sven Mintel an 06.02.10, 03:35
AW: [PHP] Codeschnipsel: POST oder GET mit Namenprüfung in Variablen schreiben

Moin,

mal wieder ein guter Zeitpunkt, meinen Libling filter_input_array() zu promoten

Er ermöglicht dies alles auch, zusätzlich bietet er mannigfaltige Validierungs-und Reinungsmöglichkeiten, und hat obendrein noch einen nicht zu unterschätzenden Vorteil: er liesse sich von deinem simulierten $_POST nicht beeindrucken, weil er merkt, dass dieser Array nicht vom User kommt.

Eine sichere Trennung zwischen Skript-und GPCS-Variablen ist somit kein Problem, sofern man es sinnvoll anstellt.
Mit Zitat antworten
 
 
Lesezeichen:


Tutorial-Optionen
Ansicht
Ähnliche Themen
 
Tutorial Autor Forum Kommentare Letzter Beitrag
Weiterleitung mit POST-Variablen Typh00n PHP 9 09.01.10 11:05
Mehrere GET- oder POST-Variablen mit dem gleichen Namen übergeben dwex PHP 6 01.06.06 09:29
$POST und Variablen MatMagic PHP 2 07.09.05 12:48
Post - Variablen & Vergleich schrenzor PHP 2 21.07.05 23:01
GET- bzw. POST-Variablen entfernbar? galgenjoe PHP 1 23.05.05 16:13
» Tools
 
tutorials.de-Tools tutorial.de-Suchfeld tutorial.de-Widget tutorial.de-RSS-Feed tutorial.de-Banner
» Neue Links
 
Hits: 137
»
JHT's Planetary...
(Cinema 4D-Objekte)
Hits: 264
»
Tageslicht ohne GI
(Cinema 4D-Tutorials)
Hits: 152
»
Puzzle
(Cinema 4D-Tutorials)
Hits: 103
»
Lacreme
(Cinema 4D-Tutorials)
Hits: 194
»
Liquid Light
(Cinema 4D-Tutorials)
» Aktuelle Umfrage
 
Bist du mit der Geschwindigkeit der Tutorials.de-Website zufrieden?
Ja, es putzt mir glatt den Staub vom Bildschirm! - 80,41%
156 Stimmen
Nein, ich denke da muss noch nachgebessert werden... - 19,59%
38 Stimmen
Stimmen gesamt: 194
Du darfst bei dieser Umfrage nicht abstimmen.

 

Alle Zeitangaben in WEZ +1. Es ist jetzt 03:00 Uhr.


Powered by vBulletin® Version 3.8.5 (Deutsch) & vBadvanced CMPS v.3.2.0
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.5.0 RC2 ©2010, Crawlability, Inc.
Alle Rechte vorbehalten ©2000 - 2010 tutorials.de
Design by Mark, CSS by Maik & Sven Mintel
Seite generiert in 0,38805 Sekunden mit 31 queries