Registrieren  •  Login 
  
 
im Forum


 FAQ   Mitgliederliste   Benutzergruppen   Teamseite   Suchen 

Extrem viele Bedingungen in ein isset()

 
Neues Thema eröffnen   Neue Antwort erstellen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
thoha
Übersetzer
Übersetzer



Anmeldedatum: 07.10.2006
Geschlecht: Männlich
Beiträge: 2591

BeitragVerfasst am: 31.03.2007, 22:12    Titel: Extrem viele Bedingungen in ein isset()

Hall zusammen

Ich wollte mal fragen, ob folgendes möglich ist:

PHP-Code:
1
2
3
<?php if(isset($var1 and $var2 and $var3 and $var 4 and $undsoweiter))
{
...... 


Funktioniert das so überhaupt?
Wieviele Bedingungen kann ich da reinpacken?
Nach oben
Benutzer-Profile anzeigen thoha ist derzeit offline Spielerprofile bei SC:Special Bewerben anzeigen Private Nachricht senden
killerbees19
Administrator & Rennleitung
Administrator & Rennleitung



OC-Nickname: KB19
Südafrika Team South Africa

Anmeldedatum: 09.05.2006
Geschlecht: Männlich
Alter: 29 Jahre
Beiträge: 13766
Wohnort: Wien

BeitragVerfasst am: 31.03.2007, 22:20    Titel:

Ich musste jetzt selbst einmal in der Doku nachschlagen: http://at.php.net/manual/de/function.isset.php
Sollte so funktionieren:

PHP-Code:
1
2
3
4
5
6
<?php
if( isset($a$b$c$d$e$f) )
{
  
// do this...
}
?>

Hatte das selbst bis heute nicht gewusst, aber man lernt ja nie aus Laughing
Sollte also mit unendlich vielen Variablen funktionieren, solange du einen Beistrich (Deutsch: Komma) machst anstatt dem and Wink


MfG Christian
_________________
SC:Banner
Nach oben
Benutzer-Profile anzeigen killerbees19 ist derzeit offline Spielerprofile bei SC:Special Bewerben anzeigen Private Nachricht senden Website dieses Benutzers besuchen
thoha
Übersetzer
Übersetzer



Anmeldedatum: 07.10.2006
Geschlecht: Männlich
Beiträge: 2591

BeitragVerfasst am: 01.04.2007, 11:01    Titel:

vielen Dank Very Happy auf die Idee mit den Kommas bin ich auch gekommen, aber es erschien mir etwas unüblich Laughing
Nach oben
Benutzer-Profile anzeigen thoha ist derzeit offline Spielerprofile bei SC:Special Bewerben anzeigen Private Nachricht senden
thoha
Übersetzer
Übersetzer



Anmeldedatum: 07.10.2006
Geschlecht: Männlich
Beiträge: 2591

BeitragVerfasst am: 01.04.2007, 16:33    Titel:

ich poste das nun auch hier, da es zum gleichen Projekt gehört.

Ich bekomme auf mysql_error() folgendes:

Zitat:
Unknown column 'teln' in 'field list'


Die SQL-Anweisung sieht so aus:

PHP-Code:
1
<?php $sql "INSERT INTO anmeldung (name, vorname, ceviname, strasse, plzort, birth, telp, teln, email, stufe, vegi) VALUES ('$name', '$vorname', '$ceviname', '$strasse', '$plzort', '$birth', '$telp', '$teln', '$email', '$stufe', '$vegi')"



Kann mir jemand helfen?
Nach oben
Benutzer-Profile anzeigen thoha ist derzeit offline Spielerprofile bei SC:Special Bewerben anzeigen Private Nachricht senden
Daniel
Mitglied
Mitglied



Anmeldedatum: 02.08.2006
Geschlecht: Männlich
Beiträge: 406
Wohnort: Mellrichstadt (Bayern)

BeitragVerfasst am: 01.04.2007, 18:33    Titel:

bist du dir sicher, dass es die Spalte 'teln' wirklich gibt?
_________________
oda so...

10¤ Fotobuch-Gutschein von CEWE
Nach oben
Benutzer-Profile anzeigen Daniel ist derzeit offline Private Nachricht senden
thoha
Übersetzer
Übersetzer



Anmeldedatum: 07.10.2006
Geschlecht: Männlich
Beiträge: 2591

BeitragVerfasst am: 01.04.2007, 20:26    Titel:

hehe, ich habe mich verschrieben... anstatt "teln" habe ich "tenl" gescrieben...

Danke für deine Hilfe!
Nach oben
Benutzer-Profile anzeigen thoha ist derzeit offline Spielerprofile bei SC:Special Bewerben anzeigen Private Nachricht senden
thoha
Übersetzer
Übersetzer



Anmeldedatum: 07.10.2006
Geschlecht: Männlich
Beiträge: 2591

BeitragVerfasst am: 03.04.2007, 20:08    Titel:

killerbees19 hat Folgendes geschrieben:
Ich musste jetzt selbst einmal in der Doku nachschlagen: http://at.php.net/manual/de/function.isset.php
Sollte so funktionieren:

PHP-Code:
1
2
3
4
5
6
<?php
if( isset($a$b$c$d$e$f) )
{
  
// do this...
}
?>

Hatte das selbst bis heute nicht gewusst, aber man lernt ja nie aus Laughing
Sollte also mit unendlich vielen Variablen funktionieren, solange du einen Beistrich (Deutsch: Komma) machst anstatt dem and Wink


MfG Christian


Das funktioniert irgendwie nicht...

Ich hab' das nun so:
Code:

<?php
// ueberpruefen, ob allg. Personenangaben angegeben sind
if(isset($_POST['Submit']))
{
if(isset($_POST['name']))
{
   if(isset($_POST['vorname']))
   {
      if(isset($_POST['strasse']))
      {
         if(isset($_POST['plzort']))
         {
            if(isset($_POST['birth']))
            {
               if(isset($_POST['telp']))
               {
                  if(isset($_POST['teln']))
                  {
                     if(isset($_POST['email']))
                     {
                        if(isset($_POST['stufe']))
                        {
                           if(mysql_query($sql))
                           {
                              echo '<img src="http://www.stufejosua-weingeri.ch/bilder/icon/ok.png"> Du wurdest für das PfiLa 07 angemeldet!';
                              echo '<br>';
                              if($_POST['geschwister'] = "Ja")
                                 {
                                 echo 'Dein Lagerbeitrag beträgt CHF 40.-, bitte bring ihn zusammen mit der <a href="Gesundheitskarte_Pfingstlager07.pdf" target="_blank">ausgefüllten Gesundheitskarte</a> und einer Kopie deines Impfbüchleins am 26.5.07 ab!';
                                 }
                                 elseif($_POST['geschwister'] = "Nein")
                                 {
                                 echo 'Dein Lagerbeitrag beträgt CHF 50.-, bitte bring ihn zusammen mit der <a href="Gesundheitskarte_Pfingstlager07.pdf" target="_blank">ausgefüllten Gesundheitskarte</a> und einer Kopie deines Impfbüchleins am 26.5.07 ab!';
                                 }

                              echo '<br>';
                              echo '<a href="Packliste.pdf" target="_blank">Packliste</a>';
                           }
                           else
                           {
                              echo '<img src="http://www.stufejosua-weingeri.ch/bilder/icon/error.png"> Du konntest nicht angemeldet werden.';
                              echo '<br>';
                              echo mysql_error();
                           }
                        }
                        else
                        {
                        echo '<img src="http://www.stufejosua-weingeri.ch/bilder/icon/error.png"> Du hast deine Stufe nicht angegeben.';
                        }
                     }
                     else
                     {
                     echo '<img src="http://www.stufejosua-weingeri.ch/bilder/icon/error.png"> Du hast keine E-Mail-Adresse angegeben.';
                     }
                  }
                  else
                  {
                  echo '<img src="http://www.stufejosua-weingeri.ch/bilder/icon/error.png"> Du hast keine Handynummer angegeben.';
                  }
               }
               else
               {
               echo '<img src="http://www.stufejosua-weingeri.ch/bilder/icon/error.png"> Du hast keine Telefonnummer angegeben.';
               }
            }
            else
            {
            echo '<img src="http://www.stufejosua-weingeri.ch/bilder/icon/error.png"> Du hast deinen Geburtstag nicht angegeben.';
            }
         }
         else
         {
         echo '<img src="http://www.stufejosua-weingeri.ch/bilder/icon/error.png"> Du hast deinen Wohnort nicht angegeben.';
         }
      }
      else
      {
      echo '<img src="http://www.stufejosua-weingeri.ch/bilder/icon/error.png"> Du hast deine Strasse nicht angegeben.';
      }
   }
   else
   {
   echo '<img src="http://www.stufejosua-weingeri.ch/bilder/icon/error.png"> Du hast deinen Vornamen nicht angegeben.';
   }
}
else
{
echo '<img src="http://www.stufejosua-weingeri.ch/bilder/icon/error.png"> Du hast deinen Namen nicht angegeben.';
}
}
else
{
echo 'Bitte Daten eintragen';
}
?>


Eigentlich so von der Logik her müsste das dich so stimmen, nicht?

Leider geht es nicht, ich kann auf "Anmelden" klicken und trotz allen if-Bedingungen wird das Query ausgeführt!

Weiss jemand Rat?
Nach oben
Benutzer-Profile anzeigen thoha ist derzeit offline Spielerprofile bei SC:Special Bewerben anzeigen Private Nachricht senden
Daniel
Mitglied
Mitglied



Anmeldedatum: 02.08.2006
Geschlecht: Männlich
Beiträge: 406
Wohnort: Mellrichstadt (Bayern)

BeitragVerfasst am: 03.04.2007, 20:17    Titel:

genau weiß ichs net, aber vllt. übergibt er ja bei den Feldern statt Den Text einfach NULL, wenn nichts eingegeben wurde.
das ist eine reine vermutung, muss nicht sein....Ich weiß nämlich net genau, auf was isset prüft. Nur darauf, ob die Variable vorhanden ist? oder auch darauf, dass sie nicht NULL ist?



PHP-Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
<?php 
// ueberpruefen, ob allg. Personenangaben angegeben sind 
if(isset($_POST['Submit'])) 

if(!empty(
$_POST['name'])) 

   if(!empty(
$_POST['vorname'])) 
   { 
      if(!empty(
$_POST['strasse'])) 
      { 
         if(!empty(
$_POST['plzort'])) 
         { 
            if(!empty(
$_POST['birth'])) 
            { 
               if(!empty(
$_POST['telp'])) 
               { 
                  if(!empty(
$_POST['teln'])) 
                  { 
                     if(!empty(
$_POST['email'])) 
                     { 
                        if(!empty(
$_POST['stufe'])) 
                        { 
                           if(
mysql_query($sql)) 
                           { 
                              echo 
'<img src="http://www.stufejosua-weingeri.ch/bilder/icon/ok.png"> Du wurdest für das PfiLa 07 angemeldet!'
                              echo 
'<br>'
                              if(
$_POST['geschwister'] = "Ja"
                                 { 
                                 echo 
'Dein Lagerbeitrag beträgt CHF 40.-, bitte bring ihn zusammen mit der <a href="Gesundheitskarte_Pfingstlager07.pdf" target="_blank">ausgefüllten Gesundheitskarte</a> und einer Kopie deines Impfbüchleins am 26.5.07 ab!'
                                 } 
                                 elseif(
$_POST['geschwister'] = "Nein"
                                 { 
                                 echo 
'Dein Lagerbeitrag beträgt CHF 50.-, bitte bring ihn zusammen mit der <a href="Gesundheitskarte_Pfingstlager07.pdf" target="_blank">ausgefüllten Gesundheitskarte</a> und einer Kopie deines Impfbüchleins am 26.5.07 ab!'
                                 } 

                              echo 
'<br>'
                              echo 
'<a href="Packliste.pdf" target="_blank">Packliste</a>'
                           } 
                           else 
                           { 
                              echo 
'<img src="http://www.stufejosua-weingeri.ch/bilder/icon/error.png"> Du konntest nicht angemeldet werden.'
                              echo 
'<br>'
                              echo 
mysql_error(); 
                           } 
                        } 
                        else 
                        { 
                        echo 
'<img src="http://www.stufejosua-weingeri.ch/bilder/icon/error.png"> Du hast deine Stufe nicht angegeben.'
                        } 
                     } 
                     else 
                     { 
                     echo 
'<img src="http://www.stufejosua-weingeri.ch/bilder/icon/error.png"> Du hast keine E-Mail-Adresse angegeben.'
                     } 
                  } 
                  else 
                  { 
                  echo 
'<img src="http://www.stufejosua-weingeri.ch/bilder/icon/error.png"> Du hast keine Handynummer angegeben.'
                  } 
               } 
               else 
               { 
               echo 
'<img src="http://www.stufejosua-weingeri.ch/bilder/icon/error.png"> Du hast keine Telefonnummer angegeben.'
               } 
            } 
            else 
            { 
            echo 
'<img src="http://www.stufejosua-weingeri.ch/bilder/icon/error.png"> Du hast deinen Geburtstag nicht angegeben.'
            } 
         } 
         else 
         { 
         echo 
'<img src="http://www.stufejosua-weingeri.ch/bilder/icon/error.png"> Du hast deinen Wohnort nicht angegeben.'
         } 
      } 
      else 
      { 
      echo 
'<img src="http://www.stufejosua-weingeri.ch/bilder/icon/error.png"> Du hast deine Strasse nicht angegeben.'
      } 
   } 
   else 
   { 
   echo 
'<img src="http://www.stufejosua-weingeri.ch/bilder/icon/error.png"> Du hast deinen Vornamen nicht angegeben.'
   } 

else 

echo 
'<img src="http://www.stufejosua-weingeri.ch/bilder/icon/error.png"> Du hast deinen Namen nicht angegeben.'


else 

echo 
'Bitte Daten eintragen'

?>


empty() prüft, ob eine Variable gesetzt wurde und wie ihr Inhalt ist. Gibt true zurück, falls eine varaiable nicht gesetzt wurde oder NULL ist.
_________________
oda so...

10¤ Fotobuch-Gutschein von CEWE
Nach oben
Benutzer-Profile anzeigen Daniel ist derzeit offline Private Nachricht senden
thoha
Übersetzer
Übersetzer



Anmeldedatum: 07.10.2006
Geschlecht: Männlich
Beiträge: 2591

BeitragVerfasst am: 03.04.2007, 20:56    Titel:

Funktioniert so!

Hab vielen Dank!
Nach oben
Benutzer-Profile anzeigen thoha ist derzeit offline Spielerprofile bei SC:Special Bewerben anzeigen Private Nachricht senden
rami
Mitglied
Mitglied



Anmeldedatum: 07.10.2006
Geschlecht: Männlich
Beiträge: 759

BeitragVerfasst am: 03.04.2007, 21:55    Titel:

Daniel hat Folgendes geschrieben:
genau weiß ichs net, aber vllt. übergibt er ja bei den Feldern statt Den Text einfach NULL, wenn nichts eingegeben wurde.
das ist eine reine vermutung, muss nicht sein....Ich weiß nämlich net genau, auf was isset prüft. Nur darauf, ob die Variable vorhanden ist? oder auch darauf, dass sie nicht NULL ist?

ich bin sehr sicher, das isset nur die existens prüft.
bei
PHP-Code:
1
2
3
4
5
6
7
8
9
<?php
$var 
'';
if(isset(
$var)){
$foo TRUE;
}else{
$foo FALSE;
}
//$foo ist true.
?>
Nach oben
Benutzer-Profile anzeigen rami ist derzeit offline Spielerprofile bei SC:Special Bewerben anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Daniel
Mitglied
Mitglied



Anmeldedatum: 02.08.2006
Geschlecht: Männlich
Beiträge: 406
Wohnort: Mellrichstadt (Bayern)

BeitragVerfasst am: 03.04.2007, 22:14    Titel:

aha danke, und schön das ich helfen konnte Strichauge
_________________
oda so...

10¤ Fotobuch-Gutschein von CEWE
Nach oben
Benutzer-Profile anzeigen Daniel ist derzeit offline Private Nachricht senden
Qu4rK
Mitglied
Mitglied



Anmeldedatum: 12.07.2006
Geschlecht: Männlich
Beiträge: 261
Wohnort: Bayreuth

BeitragVerfasst am: 03.04.2007, 23:46    Titel:

Zitat:
empty() prüft, ob eine Variable gesetzt wurde und wie ihr Inhalt ist.

Falsch, empty() gibt dir höchstens ein Warning zurück wenn du eine ungesetzte Variable prüfst Wink. Die Funktion empty() prüft ob die Variable einen Wert enthält, isset() prüft ob die Variable überhaupt gesetzt ist.

Hier wäre es besser beides zu prüfen, da man sonst ggf. leere Einträge in seiner Datenbank hat. Wink

PHP-Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
...
if(isset(
$_POST['Submit'])) 

if(!empty(
$_POST['name'])) 

   if(!empty(
$_POST['vorname'])) 
   { 
      if(!empty(
$_POST['strasse'])) 
      { 
         if(!empty(
$_POST['plzort']))  
...
?>

Btw. könnte man sowas mit einer Schleife in etlichen Zeilen weniger Code realisieren.

Dieser Beitrag wurde insgesamt 1 mal geändert. Zuletzt von Qu4rK.
Nach oben
Benutzer-Profile anzeigen Qu4rK ist derzeit offline Private Nachricht senden Website dieses Benutzers besuchen
killerbees19
Administrator & Rennleitung
Administrator & Rennleitung



OC-Nickname: KB19
Südafrika Team South Africa

Anmeldedatum: 09.05.2006
Geschlecht: Männlich
Alter: 29 Jahre
Beiträge: 13766
Wohnort: Wien

BeitragVerfasst am: 09.04.2007, 14:09    Titel:

Wieso macht ihr überhaupt so viele Einrückungen und IF's?
Geht doch einfacher:
PHP-Code:
1
2
3
4
5
6
7
8
<?php

if( isset($_POST['Submit']) && !empty($_POST['name']) && !empty($_POST['vorname']) && !empty($_POST['strasse']) && !empty($_POST['plzort']) )
{
  
// do this...
}

?>



MfG Christian
_________________
SC:Banner
Nach oben
Benutzer-Profile anzeigen killerbees19 ist derzeit offline Spielerprofile bei SC:Special Bewerben anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Qu4rK
Mitglied
Mitglied



Anmeldedatum: 12.07.2006
Geschlecht: Männlich
Beiträge: 261
Wohnort: Bayreuth

BeitragVerfasst am: 09.04.2007, 19:23    Titel:

Ist aber leider ziemlich unübersichtlich.

PHP-Code:
1
2
3
4
5
6
7
8
9
10
11
12
<?php

$var 
'_POST';
$vars = array('submit''name''vorname');

foreach ( 
$vars as $value ) {
    if ( !isset(${
$var}[$value]) || empty(${$var}[$value]) ) {
        die(
'Es wurden nicht alle Felder ausgefuellt!');
    }
}

?>

So Ist es schön übersichtlich und man kann es später noch ziemlich einfach erweitern. Wink
Nach oben
Benutzer-Profile anzeigen Qu4rK ist derzeit offline Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht teilnehmen.
Du kannst Dateien in diesem Forum nicht hochladen.
Du kannst Dateien in diesem Forum nicht herunterladen.

 

Alle Zeiten sind GMT + 1 Stunde
Aktuelles Datum und Uhrzeit: 27.02.2020, 09:45
Nach oben
Valid HTML 4.01 Transitional
Valid CSS!
Software based on work from the phpBB-Group  •  Deutsche Übersetzung von phpBB.de

netcup - Internetdienstleistungen
 
 
[ happytec.at | forum.happytec.at | blog.happytec.at | esports.happytec.at | event.happytec.at ]