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 ::

Websites optimieren für Google & Co.

Websites optimieren für Google & Co. 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:
 
 

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 04.01.2006, 12:57:53
Mantigor Mantigor ist offline
Anfänger
 
Registriert seit: Jan 2006
Beiträge: 22
if abfrage verschachteln

Olla PHP GURUS

ich habe ein kleines problem (PHP Anfänger also lasset milde walten)

Ich möchte eine if abfrage verschachteln um mehrere zustände bzw. gegebenheiten zu prüfen. Im klartext:

Ich habe ein Anmeldeformular mit mehreren feldern einige davon müssen ausgefüllt sein einige sind optional und es gibt welche bei dennen bedingungen erfüllt sein müssen (passwort muss mit passwort1 übereinstimmen und die syntax der e-mail muss stimmen). Alle daten aus dem Formular sollen an die DB weitergegeben werden aber nur wenn alles stimmt. Wobei die Optionalen felder den eintrag "Keine Angabe" erhalten sollen wenn die nicht ausgefüllt werden. Jetzt habe ich aber keinen plan wie ich die abfrage schreiben soll in einzelnen scritten währe es einfach mit

<?php if(empty($name)echo 'du musst einen namen angeben'; else

bzw.

if(empty($strasse) $strasse = "keine angabe"

ich will aber erst das komplette formular kontrolieren und es erst wenn alles richtig an die DB weitergeben wie würde die syntax dafür lauten sprich wie verschachtel ich die if abfrage richtige.

Besten dank schon mal im voraus

MFG Mantigor

P.S. gibt es ne sammlung von eselsbrücken für die php syntax??
Mit Zitat antworten
  #2  
Alt 04.01.2006, 23:31:47
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: if abfrage verschachteln

Zitat:
Zitat von Mantigor
P.S. gibt es ne sammlung von eselsbrücken für die php syntax??
Ja:
http://www.php.net/manual/de/
Mit Zitat antworten
  #3  
Alt 05.01.2006, 10:34:17
Mantigor Mantigor ist offline
Anfänger
 
Registriert seit: Jan 2006
Beiträge: 22
AW: if abfrage verschachteln

Olla thx Meikel werd mir das mal in ner ruhigen stunde zu gemüte führen wenn ich die bücher die ich hier hab durch habe *g*

Also immer noch obenbeschrieben Problem ich versuche es im mom folgendermassen zu lösen

PHP-Code:
<?

$N_name=$_POST['N_name'];
$nickname=$_POST ['nickname'];
$passwort=$_POST ['passwort'];
$passwort1=$_POST ['passwort1'];
$V_name=$_POST ['V_name'];
$strasse=$_POST ['strasse'];
$hnr=$_POST ['hnr'];
$plz=$_POST ['plz'];
$ort=$_POST ['ort'];
$email=$_POST ['email'];
$AGB=$_POST ['AGB'];

include ('functions.lib.php');

$db_connect;

if( empty($nickname) )echo "<b>Du must einen Nicknamen angeben</b><br>";

    else $test_1 ='true';

if( empty($passwort) )echo "<b>'Du musst ein Passworteingeben</b><br>";

    else $test_2 ='true';

if( empty($passwort1) )echo "<b>Du musst das passwort best&auml;tigen</b><br>";

    else $test_3 = 'true';

if($passwort != $passwort1)echo "<b>Die beiden Passwörter stimmen nicht überein</b><br>";

    else $test_4 ='true';
    
if( empty($V_name) )echo "<b>Du musst deinen Vornamen angeben!</b><br>";

    else $test_5 ='true';

if( empty($V_name) )echo "<b>Du musst deinen Nachnamen angeben!</b><br>";

    else $test_6 = 'true';

if( empty($strasse) )$strasse    ='keine angabe';

if( empty($hnr) )$hnr    ='keine angabe';

if( empty($plz) )echo "<b>Du musst deine Postleitzahl angeben!</b><br>";

    else $test_7 = 'true';

if( empty($ort) )$ort    ='keine angabe';

if( empty($email) )echo "<b>Du musst deine email adresse angeben!</b><br>";

    else $test_8 = 'true';

if( !isset($AGB) ) echo "<b>Du musst die AGB akzeptieren!</b><br>";

    else $test_9 = 'true';

?>
Im nächsten schritt würde ich dann (sobald ich rausgefunden hab wie die ganzen $test variablen abfragen und wenn alle true sind die ganzen daten in die DB schreiben lassen. Aber dafür muss es doch eine schönere und vorallem einfachere lösung geben kann mir bitte jemand helfen.

Danke schonmal im voraus.

MFG
Mit Zitat antworten
  #4  
Alt 05.01.2006, 10:59:10
trojax trojax ist offline
Anfänger
 
Registriert seit: Jan 2006
Ort: oberfranken
Alter: 40
Beiträge: 24
AW: if abfrage verschachteln

Moin,
das klingt jetzt dumm-aber ich würde mir mal das hier durchlesen wenn ich du wäre-da ist alles was man so braucht kurz und knapp und komplett erklärt-bis hin zum Passwortschutz mit sessions und Datenbankabfragen-dann würdest du dir etwas leichter tun als a)ganz ohne und b)mit den anderen php Tutorials. So, und jetzt zu deiner Frage:
Ich schreib dir jetzt mal was Beispielhaftes-damit solltest du aber was anfangen können.
1. Das hier ist die Datei ueberpruefen.php

PHP-Code:
<html>
<head>
<title>ueberpruefen.php</title>
</head>
<body>
<?php

$errors
=0;
if (!
trim($spitzname))
{
echo 
"<br><b>Spitzname</b> ist erforderlich.";
$errors++;}
if(!
trim($nachname))
{echo 
"<br><b>Nachname</b> ist erforderlich.";
$errors++;
}

if (!
trim($email)){
echo 
"<br><b>email Adresse</b> ist erforderlich";
$errors++;
if (
$errors>0)
echo 
" Bitte verwenden sie die zurüch Schaltfläche ihres Browsers um zu dem Formular zurückzukehren,";
if(
$errors == 1)
echo 
"den Fehler";
if (
$errors >1)
echo 
"die Fehler";
if (
$errors >0)
echo 
" zu korrigieren und das Formular erneut abzusenden";
else{
$sql "INSERT INTO tabelle
           (feld1,
              feld2,
                feld3, 
                 feld4)
              Values
                 ($email,
                    $name,
                       $initialen,
                          $vorname)"
//evtl die Variablen noch in ' setzen
$rein mysql_query($sql);

?>
</body>
</html>
Naja- und jetzt noch dien Formular-kannste ja prinzipiell gestalten wie dus willst-
PHP-Code:
<html>
<
head>
<
title>eingabe.html</title>
</
head>
<
body>
<
form method='post' action='ueberpruefen.php'>
<
table border='1'>
<
tr>
<
th>Spitzname</th>
<
td><input type='text' name='spitzname'></td>
</
tr>
<
tr>
<
th>Nachname</th>
<
td><input type='text' name='nachname'></td>
</
tr>
<
tr>
<
td>Initialen</td>
<
td><input type='text' name='Initialen'></td>
</
tr>
<
tr>
<
th>Email Adresse</th>
<
td><input type='text' name='email'></td>
</
tr>
</
table>
</
html
So, das dann noch hoch auf den Server-evtl noch in der ueberpruefen.php alles mit $_POST['$irgendeinvariablenname'] Rausholen-kommt auf deine Einstellung für register_globals an-und dann halt noch die Datenbankfelder Anpassen.
Aber les dir unbedingt das Tutorial durch das ich dir gepostet habe.
Lg Daniel

P.s. Sorry Matigor-als ich anfing zu tippen war deine Antwort noch nicht da
__________________
Nietzsche: Gott sit tot
Gott: Nietzsche ist tot

Geändert von trojax (05.01.2006 um 11:00:25 Uhr)
Mit Zitat antworten
  #5  
Alt 05.01.2006, 11:25:44
Mantigor Mantigor ist offline
Anfänger
 
Registriert seit: Jan 2006
Beiträge: 22
AW: if abfrage verschachteln

THX also das TUT sieht gut aus soweit ich das in den 5 min die ich durchgeblättert hab beeurteilen kann und danke für den lösungsansatz werds gleich mal testen.

MFG Mantigor
__________________
Software entwicklung ist ein wettlauf zwischen Programmierern, die versuchen immer grössere, komplexere und Idiotensichere Programme zu schreiben und dem Universum das versucht immer grössere Idioten zu erschaffen!
Das Universum liegt Vorne.
Mit Zitat antworten
  #6  
Alt 05.01.2006, 12:13:50
trojax trojax ist offline
Anfänger
 
Registriert seit: Jan 2006
Ort: oberfranken
Alter: 40
Beiträge: 24
AW: if abfrage verschachteln

Hubs-du musst in der php datei noch deine Datenbankverbindung angeben-und natürllich die felder deiner Tabelle richtig benennen-sorry hab ich voll vergessen.
__________________
Nietzsche: Gott sit tot
Gott: Nietzsche ist tot
Mit Zitat antworten
  #7  
Alt 05.01.2006, 12:26:53
Mantigor Mantigor ist offline
Anfänger
 
Registriert seit: Jan 2006
Beiträge: 22
AW: if abfrage verschachteln

kein problem einen teil der "Grundlagen" hab ich ja drauf ich meine das mit db_connect und so weiter weiss ich hab halt nur teilweise probleme mit der syntax und den richtigen lösungs ansätzen usw.

Ich hab schon öfters kelinere änderungen in fertigen scripots gemacht usw. und HTML kann ich. Ich möchte halt jetzt meine ersten eigenen skripte schreiben usw. und das ohne fertige sachen zu kopieren damit ich es auch richtig lerne und begreife (und nicht wie bisher per trial and error z.B. ich ändere was es funktioniert aber ich hab keinen plan warum)

MFG Mantigor
__________________
Software entwicklung ist ein wettlauf zwischen Programmierern, die versuchen immer grössere, komplexere und Idiotensichere Programme zu schreiben und dem Universum das versucht immer grössere Idioten zu erschaffen!
Das Universum liegt Vorne.
Mit Zitat antworten
  #8  
Alt 05.01.2006, 12:35:08
trojax trojax ist offline
Anfänger
 
Registriert seit: Jan 2006
Ort: oberfranken
Alter: 40
Beiträge: 24
AW: if abfrage verschachteln

Naja-mach dir nix draus das wird-und das tutorial ist echt super-damit hab ichs mir auch so einigermaßen beigebracht-man darf nur kein kapitel überspringen-egal wie einfach-sonst raffste den rest nicht mehr
__________________
Nietzsche: Gott sit tot
Gott: Nietzsche ist tot
Mit Zitat antworten
  #9  
Alt 05.01.2006, 12:45:49
Benutzerbild von Jürg
Jürg Jürg ist offline
Junior Member
 
Registriert seit: May 2003
Ort: CH Zürich
Alter: 66
Beiträge: 352
Jürg eine Nachricht über Skype™ schicken
AW: if abfrage verschachteln

Anstelle von 'if' kann auch 'switch' dienen.
Zu Formularen, da habe ich einmal etwas geschrieben: Feedback
__________________
www.zudila.ch
Mit Zitat antworten
  #10  
Alt 05.01.2006, 15:02:01
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: if abfrage verschachteln

Zitat:
Zitat von Mantigor
Olla thx Meikel werd mir das mal in ner ruhigen stunde zu gemüte führen wenn ich die bücher die ich hier hab durch habe *g*
Warum liest Du nicht gleich das Original? Teure PHP Bücher sind in der Regel schon veraltet und bisweilen auch fehlerhaft, wenn sie in den Handel kommen.

Zitat:
Aber dafür muss es doch eine schönere und vorallem einfachere lösung geben
Erstelle ein assoziatives Array mit den gewünschten Schlüsseln aus dem POST Array und den dazugehörigen Fehlermeldungen und wanderst mit foreach durchs Array.

PHP-Code:
$a = array('nickname' => "<b>Du must einen Nicknamen angeben</b><br>",
'passwort' => "<b>'Du musst ein Passworteingeben</b><br>",
# usw);

$err false;

foreach (
$a as $key => $msg)
{
   
$_POST[$key] = trim ($_POST[$key]); # whitespaces entfernen
   
if (empty($_POST[$key]))
   {
     echo 
$msg;
     
$err true;
   }
}

if (
$err === true)
{
#  Formular anzeigen
}
else
{
# SQL String zusammenbauen und abschicken

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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Abfrage klaus-maus MySQLi/PDO/(MySQL) 3 12.08.2005 12:19:55
Abfrage Problem Holstenjungs MySQLi/PDO/(MySQL) 5 16.11.2004 12:14:50
nochmal Abfrage BeefBonanza MySQLi/PDO/(MySQL) 1 01.02.2004 22:31:12
Benötige Hilfe für dyn. Abfrage mittles PHP Trialrider PHP für Fortgeschrittene und Experten 70 09.10.2003 11:08:56
select feld mit if abfrage? Silencer PHP für Fortgeschrittene und Experten 3 20.11.2002 10:34:59


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:12:02 Uhr.


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


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