SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Webseiten professionell erstellen

Webseiten professionell erstellen zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Deine Leidenschaft ist die Unterwasserfoto-grafie?


Dann ist Qozido genau das Richtige für Dich!

Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler ist da!

www.qozido.de

 


Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 25.01.2004, 23:08:55
bigvillain
Guest
 
Beiträge: n/a
Anmeldeformular

Hallo,
ich will ein Anmeldeformular in PHP programmieren, welches auf MySQL basiert, bekomme es aber nicht optimal hin.
Wenn ein Textfeld nicht ausgefüllt ist, soll eine Fehlermeldung über ihm steht. Jedoch wenn alles ok ist, soll das Formular nicht mehr angezeigt werden.
Hier meine Bisherige Überlegung, jedoch finde ich sie mit der Funktion header() schlecht gelöst.


PHP-Code:
<?php
if ($submit) {
if (
$alias == "" || $passwort == ""){
// Fehlermeldung ausgeben.
}
else {
// Daten in die MySQL-Datenbank schreiben.
header("Location: http://../bla.php");
}
}
?>

<form action="<?php echo($PHP_SELF); ?>" method="post">
<input type="text" name="alias">
<br>
<input type="password" name="passwort">
<br>
<input type="submit" name="submit">
</form>
Mit Zitat antworten
  #2  
Alt 25.01.2004, 23:21:42
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Beiträge: 4.748
c4 befindet sich auf einem aufstrebenden Ast
Mal so als kleines Frei-Schnauze-Beispiel:
PHP-Code:
<?php
$error
='';
if (isset(
$_POST['action'])) {
    if (!isset(
POST['name'])) {
        
$error.='a';
    }
    if (!isset(
POST['email'])) {
        
$error.='b';
    }
    if (!isset(
POST['website'])) {
        
$error.='c';
    }
}

$message['a']='Name angeben!';
$message['b']='E-Mail angeben!';
$message['c']='Website angeben!';

if (!isset(
$_POST['action']) || isset($_POST['action']) && $error!='') {
?>
<form action='<?php echo $_SERVER['PHP_SELF']; ?>' method='post'>
    <input type='hidden' name='action' value='1' />
    <?php if (strstr($error'a')) { echo $message['a'].'<br />'; } ?>
    Name: <input type='text' name='name' value='<?php echo @$_POST['name']; ?>' /><br />
    <?php if (strstr($error'b')) { echo $message['b'].'<br />'; } ?>
    E-Mail: <input type='text' name='email' value='<?php echo @$_POST['email']; ?>' /><br />
    <?php if (strstr($error'c')) { echo $message['c'].'<br />'; } ?>
    Website: <input type='text' name='website' value='<?php echo @$_POST['website']; ?>' /><br />
</form>
<?php
}
else {
    
// Daten in DB packen
}
?>
Damit hast Du eine kleine Fehlerkontrolle, eine Ausschrift und das Formular wird nur angezeigt, wenn es noch nicht abgeschickt wurde, bzw. wenn es abgeschickt wurde, alle Felder ausgefüllt wurden.
Mit Zitat antworten
  #3  
Alt 26.01.2004, 20:31:09
bigvillain
Guest
 
Beiträge: n/a
Danke für das Script, auch wenn er einen kleinen Fehler hatte.
So ist er richtg:

PHP-Code:
[...]

if (isset(
$_POST['action'])) {  
    if (empty(
$_POST['name'])) {  
        
$error.='a';  
    }  
    if (empty(
$_POST['email'])) {  
        
$error.='b';  
    }  
    if (empty(
$_POST['website'])) {  
        
$error.='c';  
    }  
}  

[...] 
Gruß Bigvillain
Mit Zitat antworten
  #4  
Alt 26.01.2004, 22:06:35
Benutzerbild von meikel
meikel meikel ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 66
Beiträge: 4.001
meikel befindet sich auf einem aufstrebenden Ast
Zitat:
Original geschrieben von bigvillain
[B]Danke für das Script, auch wenn er einen kleinen Fehler hatte.
So ist er richtg:
Es muß beides geprüft werden:
$error = '';

if (!isset($_POST['var'] OR empty(trim($_POST['var']))) $error .= 'Wüste Beschimpfung';

Ist die Variable nicht gesetzt, verursacht empty() eine Notiz (abhängig von error_reporting()).
Die Variable kann auch gesetzt, aber leer sein.
Sie kann auch ein Leerzeichen enthalten.
Dann ist sie gesetzt, nicht leer aber trotzdem nicht verwendbar.

Und selbst wenn sie Text enthält, kann der auch aus Unfug bestehen.
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:59:46 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.


© 2001-2014 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt