php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 20.10.2011, 21:33  
Erfahrener Benutzer
 
Registriert seit: 22.07.2004
Beiträge: 226
DirkHo befindet sich auf einem aufstrebenden Ast
Standard

Grundsätzlich sieht das schon besser aus wie das jetzt gelöst hast als vorher. Eleganter ist aber z.B. wenn du dir ein Flag auf true setzt, das du beim ersten Fehler dann auf false setzt und das unten abprüfst.

PHP-Code:
<?php
    
// Das wäre so ein Flag
    
$formIsValid true;

  if (isset(
$_POST['submit'])) {
    
// Das wäre so ein Flag
    
$formIsValid true;


    
$errors '';
    
$invalidFields = array(
       
'vorname' => '',
       
'name' => '',
       
'tel' => ''
    
);

    if (empty(
$_POST['vorname'])){
          
$errors .= "Bitte geben Sie ihren Vornamen ein.<br />";
          
$formIsValid false;
          
$invalidFields['vorname'] = 'error';
    } 
    
/*
    Wenn du eh keine Entschärfung der eingegebenen Daten vornimmst brauchst du das auch nicht einer extra variablen zu zu weisen sondern kannst auch direkt auf $_POST zugreifen. Besser natürlich das zu entschärfen!
    else {
        $vorname = $_POST['vorname'];
    }
    */
    
if (empty($_POST['name'])){
        
$errors .= "Bitte geben Sie ihren Nachnamen ein.<br />";
          
$formIsValid false;
          
$invalidFields['name'] = 'error';

    } 
    
/*
    siehe oben
    else {
        $nachname = $_POST['name'];
    }
    */
    
if (empty($_POST['tel'])){

        
$errors .= "bitte geben sie ihre Telefonnummer an.<br />";
          
$formIsValid false;
          
$invalidFields['tel'] = 'error';

    } 
    
/*
    siehe oben
    else {

        $tel = $_POST['tel'];
    }
    */
       
if ($formIsValid){

                  echo 
"Eingabe erfolgreich";
       }
       else{
           
// if(isset($errors)){ <-- wenn du das so hast wie ursprünglich ist das völlig unnötig
               
echo "sorry, ihre daten konnten nicht verarbeitet werden.<br />";
//               foreach ($errors as $error)
                   
echo $error// Da du einen verketteten String hast brauchst die Schleife auch nicht mehr
           //}
       
}


if(
$form){

  
?>
<form action="" method="post" >
 Name eingeben:
 <input class="<?php echo $invalidFields['name']; ?>" type="text" name="name" value="<?php $invalidFields['name'] === 'error' $_POST['name'] : ''?>"/><br />
Vorname:
<input class="<?php echo $invalidFields['vorname']; ?>" type="text" name="vorname" value="<?php $invalidFields['vorname'] === 'error' $_POST['vorname'] : ''?>"/><br />
Telefon:
<input class="<?php echo $invalidFields['tel']; ?>" type="text" name="tel" value="<?php $invalidFields['tel'] === 'error' $_POST['tel'] : ''?>"/><br />
 <input type="submit" name="submit" value="ab" />
</form>
 <?php
 
}
Und eben noch eine CSS-Klasse error mit den entsprechenden Formatierungen.

Kann man noch einiges optimieren aber auf die schnelle...
DirkHo ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 20.10.2011, 22:27  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
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

Zitat:
// Das wäre so ein Flag
$formIsValid = true;

PHP-Code:
    // Und das ebenfalls
    
$form false



btw.
Zitat:
// Das wäre so ein Flag
$formIsValid = true;

if (isset($_POST['submit'])) {
// Das wäre so ein Flag
$formIsValid = true;
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 21.10.2011, 21:41  
Erfahrener Benutzer
 
Registriert seit: 15.08.2011
Beiträge: 104
PHP-Kenntnisse:
Anfänger
maikh befindet sich auf einem aufstrebenden Ast
Standard

auch schön... danke....
bekanntlich führen ja viele wege nach rom.
Aber um mal auf das "entschärfen" zu kommen. Welche
Funktionen wäre denn für solche Formulare am sinnvollsten?
Die Daten werden dann mit einer Mail versendet. Datenbankeintragung wird es erstmal nicht geben.
Wären darüf trimm() und mysql_real_escape_string() ausreichend?
__________________
http://www.polygona.de
maikh ist offline   Mit Zitat antworten
Alt 21.10.2011, 22:37  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
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

Bitte keine Pauschalfragen. Jedes Mittel zu seinem eigenen Zweck.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 21.10.2011, 22:37  
Erfahrener Benutzer
 
Registriert seit: 22.07.2004
Beiträge: 226
DirkHo befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von nikosch Beitrag anzeigen
PHP-Code:
    // Und das ebenfalls
    
$form false
Nur benutzt er das halt nicht dafür...
DirkHo ist offline   Mit Zitat antworten
Alt 21.10.2011, 22:41  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
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

Und deswegen soll er die Variable umbenennen?
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 21.10.2011, 23:24  
Erfahrener Benutzer
 
Registriert seit: 22.07.2004
Beiträge: 226
DirkHo befindet sich auf einem aufstrebenden Ast
Standard

Es geht u.a. auch darum, dass man aussagekräftige Variablen verwendet.

Mit $a, $b, $c,... als Variablen in einem Skript ist eben keinem geholfen und dass eine Variable $form ein Boolean enthält das angibt, dass das Formular angezeigt werden soll geht daraus auch nicht hervor.
DirkHo ist offline   Mit Zitat antworten
Alt 21.10.2011, 23:29  
Erfahrener Benutzer
 
Registriert seit: 15.08.2011
Beiträge: 104
PHP-Kenntnisse:
Anfänger
maikh befindet sich auf einem aufstrebenden Ast
Standard

hm, ich hab halt einfach so gedacht: $form steht für formular. und wenn formular == true ist soll der user das formular sehen.
Wahrscheinlich ist meine logik noch ein wenig anders als die eines profiprogrammierers
__________________
http://www.polygona.de
maikh ist offline   Mit Zitat antworten
Antwort


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
Affenformular (Standardverfahren) robo47 Wiki Diskussionsforum 9 17.03.2012 14:07
Seitenaufruf per include + Affenformular MaNuu PHP Einsteiger 9 05.08.2011 15:18
[Erledigt] Problem mit Affenformular nordhelm PHP Einsteiger 4 31.12.2010 19:59
[Erledigt] Affenformular - htmlentities MaxC PHP Tipps 2010 7 05.08.2010 21:53
Aktualisierungssperre im Affenformular sämiprofi PHP Tipps 2010 12 02.05.2010 19:13
Affenformular - Sprungbefehl (Aufrufen neuer Seite) bei Erfolg ... Farlif PHP Tipps 2010 3 22.02.2010 16:35
Affenformular - charset Problem (?) pjotr PHP Tipps 2009 3 31.10.2009 19:13
[Erledigt] parse errror Affenformular andre_ PHP Tipps 2009 7 15.09.2009 14:35
Affenformular - Fehlermeldung Hype2002 PHP Tipps 2009 20 28.08.2009 09:03
[Erledigt] Affenformular - Select - Funktioniert nicht yanfred PHP Tipps 2009 7 13.08.2009 13:27
Html Formular zu Affenformular transformieren Bergtroll PHP-Fortgeschrittene 0 30.06.2009 00:04
problem: weiterleitung nach affenformular KaVo PHP Tipps 2009 11 25.06.2009 18:25
Tutorial Affenformular litterauspirna Off-Topic Diskussionen 41 05.03.2009 18:54
Cookies im Affenformular binäri PHP Tipps 2008 29 29.12.2008 14:19
Affenformular / Doppelpost / Weiterleitung malungo PHP Tipps 2008 31 21.10.2008 17:14

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php affenformular 2 seiten, affenformular 2 submit

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