php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 31.03.2007, 11:13  
Erfahrener Benutzer
 
Registriert seit: 20.06.2003
Beiträge: 233
andrew22
Standard Sinnvolle Formular-überprüfung

Hi,

welche Möglichkeiten gibt es denn zur Zeit - Formularelemente sinnvoll zu prüfen ?

Gibt es dafür schon vorgefertigte Beispiele ?

Reicht es aus eine Funktion zu schreiben die das Array Element $_POST auf (int) oder (string) etc. Werte abfragt ?

Würde mich sehr über ein Feedback freuen.

thx
andrew22 ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 31.03.2007, 11:16  
CIX88
Gast
 
Beiträge: n/a
Standard

Ich würde mal grob behaupten, dass es vom Verwendungszweck abhängt.
Also je nachdem, was übergeben wird.
Eine allgemeine Antwort halte ich nicht für Sinnvoll.
 
Alt 31.03.2007, 11:21  
Erfahrener Benutzer
 
Registriert seit: 20.06.2003
Beiträge: 233
andrew22
Standard

also wäre es quatsch eine allgemeine Funktion zu schreiben die einfach das POST array durchgeht und überprüft ob der Wert ein Integer oder String oder Float ... ist.

Gibt es denn ein paar Beispiele wie man möglichst allgemein das POST Array auswerten könnte ?[/code]
andrew22 ist offline  
Alt 31.03.2007, 11:22  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

Zitat:
Zitat von andrew22
also wäre es quatsch eine allgemeine Funktion zu schreiben die einfach das POST array durchgeht und überprüft ob der Wert ein Integer oder String oder Float ... ist.
Ja, weil: Was soll das bringen?

Zitat:
Zitat von andrew22
Gibt es denn ein paar Beispiele wie man möglichst allgemein das POST Array auswerten könnte ?
Was willst du auswerten? Was ist dein Ziel?
__________________
Today you...Tomorrow me.
agrajag ist offline  
Alt 31.03.2007, 11:27  
Erfahrener Benutzer
 
Registriert seit: 20.06.2003
Beiträge: 233
andrew22
Standard

Nun ja ich möchte einfach die Formular Elemente auswerten und abspeichern in einer MYSQL Tabelle.

Dazu muss ich aber vorher überprüfen das in den Formularelementen kein "scheiss" drin steht.

andrew22 ist offline  
Alt 31.03.2007, 11:50  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.657
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo andrew22,

moderne Frameworks bieten hierzu bereits vorgefertigte Methoden, mit denen man Formular-Elemente mit Validatoren belegen kann. Hier musst du ein Formular innerhalb eines Templates / Designs definieren und in deinem Programm-Ablauf nur noch abfragen, ob das Formular valide ist. Das kann dann ungefähr so aussehen:

Template-Datei

Code:
<html:form name="RecommendForm">
  Hier können Sie die gewählte Seite per E-Mail weiterempfehlen.
  Bitte f&uuml;llen Sie das Formular vollst&auml;ndig aus!
  

  <div style="text-align: left; padding-left: 40px; font-size: 12px;">
    <form:valgroup name="MyValGroup">
      <valgroup:validate validator="Text" button="Senden" field="AbsenderName" type="text" msginputreq="Recommend.Sender.Name.InputRequired" />
      <valgroup:validate validator="EMail" button="Senden" field="AbsenderEMail" type="text" msginputreq="Recomment.Sender.EMail.InputRequired" msginputwrg="Recomment.Sender.EMail.InputWrong" />
      <valgroup:validate validator="Text" button="Senden" field="EmpfaengerName" type="text" msginputreq="Recommend.Recipient.Name.InputRequired" />
      <valgroup:validate validator="EMail" button="Senden" field="EmpfaengerEMail" type="text" msginputreq="Recomment.Recipient.EMail.InputRequired" msginputwrg="Recomment.Recipient.EMail.InputWrong" />
      <valgroup:validate validator="Text" button="Senden" field="Betreff" type="text" msginputreq="Recomment.Subject.InputRequired" />
      <valgroup:validate validator="Text" button="Senden" field="Text" type="text" msginputreq="Recomment.Text.InputRequired" />
    </form:valgroup>
    

    <span style="width: 56x; border: 0px solid black; margin-right: 98px;">Ihr Name:</span>
    <form:text name="AbsenderName" class="eingabe_feld" style="width: 280px;" />
    

    

    <span style="width: 108px; border: 0px solid black; margin-right: 44px;">Ihre eMail-Adresse:</span>
    <form:text name="AbsenderEMail" class="eingabe_feld" style="width: 280px;" />
    

    [..]
Hier wird das Formular in XML-Tags beschrieben und in der Validator-Gruppe werden Validatoren auf die Felder des Formulars gelegt. Beim Abschicken des Formulars wird überprüft, ob die Werte gültig sind und ist das nicht der Fall, so wird eine entsprechende Meldung, die in einer Konfigurations-Datei gespeichert ist (z.B. "Recommend.Sender.Name.InputRequired") als Inhalt der Validator-Gruppe ausgegeben. Es ist ebenso möglich Validatoren direkt auf Felder zulegen und den berühmten roten Rand auszugeben.

Im Programm-Ablauf kann man dann wie folgt abfragen:

PHP-Code:
<?php
   
[..]
   
$Form = &$this->__getForm('RecommendForm');

   if(
$Form->get('isValid')){
      
// dein Code
   
}
?>
Damit kann man sehr einfach Formulare generieren und manipulieren ohne am PHP-Code Änderungen und Formatierungen vornehmen zu müssen.
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline  
Alt 31.03.2007, 12:47  
Erfahrener Benutzer
 
Registriert seit: 11.07.2004
Beiträge: 269
function
function eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von andrew22
Dazu muss ich aber vorher überprüfen das in den Formularelementen kein "scheibenkleister" drin steht.
naja generell solltest du überprüfen ob die felder einen inhalt haben...
und das mit dem scheibenkleister naja wirre buchstabenkombinationen raus zufiltern sollte nicht so einfach sein, außer du hast eine vergleichsdatei, wo alle erlaubten begriffe drin stehen...
ansonsten solltest du vll sonderzeichen entfernen... aber kommt halt im endeffekt darauf an was du wirklich übergeben willst
__________________
Es ist ein großer Trost, andere dort scheitern zu sehen, wo man selbst gescheitert ist. (William Somerset Maugham)
function ist offline  
Alt 31.03.2007, 13:21  
Erfahrener Benutzer
 
Registriert seit: 20.06.2003
Beiträge: 233
andrew22
Standard

in wie fern eine vergleichsdatei ?
andrew22 ist offline  
Alt 31.03.2007, 13:57  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.657
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo andrew22,

was function meint ist zu überprüfen, ob in den Feldern des Formulars Mist drinsteht. Sowas wie eine Blacklist. Grundsätzlich ist es aber erst mal sinnvoll abzufragen, ob überhaupt etwas in einem Feld drinsteht und anschließen, ob das syntaktisch richtig ist - z.B. bei einer E-Mail-Adresse.
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline  
Alt 31.03.2007, 14:58  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Grundsätzlich benötigst Du für jedes zu validierende Feld eine Zuordnung der erwarteten Eigenschaften. Für mich fallen darunter:
-Typ,
-Zeichenlänge/num. Wertebereich/max. Anzahl aus Arrayvorgabe (enum/set),
-null/not null
-(zusätzliche Validierung)
-(Vorgabewerte (enum/set))
Ob Du diese Daten im Template angibst, ein mappendes Array verwendest oder gar die Infos direkt aus der DB holst ist erstmal egal.
Ich verwende zur Zeit ein Array, in dem ich dem Element zusätzlich noch Hilfetext und Initialwert zuordne. Bei mehrdeutigen Fällen gebe ich auch noch das zu verwendende Eingabeelement an (z.b. Radio vs. Selection)
nikosch 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
PHP: Formular Generator Zergling-new Tutorials 16 06.07.2010 03:14
Wert aus Textfeld in neues Formular übernehmen (kein Submit) PsychoEagle HTML, Usability und Barrierefreiheit 9 02.01.2007 14:51
formular an mehrere email-empfänger katarzyna PHP Tipps 2006 2 22.08.2006 07:42
formular includen samspa5 PHP Tipps 2006 13 18.03.2006 11:37
Datenbank auslesen, in Formular darstellen und �ndern PHP Tipps 2006 8 22.02.2006 17:51
[Erledigt] Formular in Formular HTML, Usability und Barrierefreiheit 4 19.10.2005 12:18
[Erledigt] Formular testen .... HTML, Usability und Barrierefreiheit 7 19.09.2005 14:03
[Erledigt] PHP Formular ~~wichtig~~ PHP Tipps 2005 27 29.05.2005 19:38
Formular --> Ergebnis auf anderer Seite anzeigen Jojo1 PHP Tipps 2005 58 01.02.2005 17:13
Im Formular user abfragen? Datenbanken 3 06.01.2005 10:51
[Erledigt] PHP Formular - Daten an nächsten Schritt weiter geben - Wie? PHP Tipps 2005 14 02.01.2005 20:05
[Erledigt] Daten in einem Formular ausgeben und ändern PHP Tipps 2004-2 7 07.12.2004 17:22
Wie implementiere ich mein Email Formular? PHP Tipps 2004-2 2 14.11.2004 17:02
[Erledigt] Formular mit Daten werden auf anderer Seite zusammengefasst PHP Tipps 2004 4 15.08.2004 15:44
[Erledigt] Daten in neuem Formular anzeigen PHP Tipps 2004 6 21.07.2004 10:44

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
sinnvolle formulare, sinnvoller formularaufbau, php blackliste formular auswerten, php sinnvolle validierungen formular name, float textfeld überprüfen php, überprüfung php, php formularfeld überprüfen ob was drin, ajax-beispiel formularüberprüfung, beispiele formularüberprüfung mit php, formular über php überprüfen und auswerten, php sinnvolle email, formularüberprüfung werte speichern, http://www.php.de/php-tipps-2007/43823-sinnvolle-formular-ueberpruefung.html, formular werte post durchgehen, formularüberprüfung mit ajax beispiel, formularüberprüfung, php validierung formular

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:44 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.