Dateiupload und Überprufung desselben
daniel
- php
0 Tobias K.0 daniel
0 Vinzenz0 daniel0 Thomas Schmieder
hallo alle zusammen,
irgendwie steh ich gerade ziemlich auf dem schlauch.
ich will dem besucher die möglichkeit geben, per file-feld ein GIF oder JPG hochzuladen. mit folgendem teil will ich feststellen, ob es wirklich eine solche datei ist:
<schnipp>
//DATEIUPLOADFELD
elseif($bild!="none") {
$prop=getimagesize($bild);
if($prop[2]!=1 || $prop[2]!=2) {
show_error("6","Die angegebene Datei stimmt nicht mit den vorgegebenen Parametern überein<br>$prop[2]");
}
</schnapp>
aber egal was ich hochlade, er springt immer zu der show_error-Funktion?? hab mir auch schon &prop[2] ausgeben lassen, das _IST 2_ !
da steht doch ganz klar, daß er nur in den Teil springen soll, wenn $prop[2] UNGLEICH 2 ist ?????
kann mir mal gerade `bitte jemand auf die sprünge helfen?
ich checks gerade echt nicht.. ;-)
vielen dank,
grüße
daniel
Hallo Daniel,
if($prop[2]!=1 || $prop[2]!=2) {
aber egal was ich hochlade, er springt immer zu der show_error-Funktion?? hab mir auch schon &prop[2] ausgeben lassen, das _IST 2_ !
da steht doch ganz klar, daß er nur in den Teil springen soll, wenn $prop[2] UNGLEICH 2 ist ?????
ja, aber da steht auch dass er dahin springen soll wenn $prop[2] ungleich 1 ist, also springt er immer dahin, weil eine der Bedingungen immer zutrift.
Grüße aus Nürnberg
Tobias
hi tobias,
ohmann, das hätte mir auch selber auffalllen können ;-))
jaja, die liebe logik, die war noch nie soooo sehr mein freund... ;-))
aber wie kann ich ihm dann möglichst kurz ohne weitere verschachtelungen in einer einzigen bedingung beibringen, daß er nur dann in die if-verzweigung springen soll, wenn $prob[2] ENTWEDER 2 ODER 1 ist?
grüße,
daniel
Hi Daniel,
ohmann, das hätte mir auch selber auffalllen können ;-))
tja, die liebe Betreibsblindheit :-)
aber wie kann ich ihm dann möglichst kurz ohne weitere verschachtelungen in einer einzigen bedingung beibringen, daß er nur dann in die if-verzweigung springen soll, wenn $prob[2] ENTWEDER 2 ODER 1 ist?
if ($prob[2]==1 || $prob[2]==2){...?
Grüße aus Nürnberg
Tobias
Hi,
aber wie kann ich ihm dann möglichst kurz ohne weitere verschachtelungen in einer einzigen bedingung beibringen, daß er nur dann in die if-verzweigung springen soll, wenn $prob[2] ENTWEDER 2 ODER 1 ist?
naja, genauso[1] wie Du es sagst - das ODER hast Du schon, nur solltest Du etwas mehr betonen, dass der Wert GLEICH 1 oder 2 sein soll.
[1] Wobei die Übersetzung "$prob[2]==2 OR 1" schon deswegen nicht stimmt, weil "1" immer wahr ist. Boole'sche Operatoren _trennen_[2] Wahrheitswerte, d.h. links und rechts vom "OR" steht jeweils eine Bedingung, die Du einzeln betrachten musst.
[2] Und verbinden sie gleichzeitig ;-)
Kleine Boole'sche Algebra für Anfänger, weil ich gerade Bock drauf habe: Deine ursprüngliche Bedingung war "A!=1 OR A!=2", oder auch "X OR Y" (reine Umbenennung, nichts magisches). Verneint man dies, bekommt man "NOT (NOT X AND NOT Y)" (beachte den Wechsel zwischen OR und AND). Dies zurücksubstituiert heißt dann: "NOT (A==1 AND A==2)". Jetzt wird Dir vielleicht deutlicher, warum das Ergebnis immer das gleiche ist...
!(X AND Y) == (!X OR !Y)
!(X OR Y) == (!X AND !Y)
Cheatah
Hallo!
Aber wie kann ich ihm dann möglichst kurz ohne weitere verschachtelungen in einer einzigen bedingung beibringen, daß er nur dann in die if-verzweigung springen soll, wenn $prob[2] ENTWEDER 2 ODER 1 ist?
Lies am besten mal:
http://www.php3.de/manual/de/control-structures.php#control-structures.if
http://www.php3.de/manual/de/language.operators.comparison.php
http://www.php3.de/manual/de/language.expressions.php
Ich kann Dir wirklich nur empfehlen das einmal zu lesen und zu verstehe und Du hast nie wieder solche Probleme!
Grüße
Andreas
Hallo nochmal!
Lies am besten mal:
http://www.php3.de/manual/de/control-structures.php#control-structures.if
http://www.php3.de/manual/de/language.operators.comparison.php
http://www.php3.de/manual/de/language.expressions.php
und vielleicht noch:
http://www.php3.de/manual/de/language.operators.logical.php
Grüße
Andreas
Hallo Daniel
irgendwie steh ich gerade ziemlich auf dem schlauch.
Nicht schlimm, passiert jedem mal ;-)
if($prop[2]!=1 || $prop[2]!=2) {
show_error("6","Die angegebene Datei stimmt nicht mit den vorgegebenen Parametern überein<br>$prop[2]");
aber egal was ich hochlade, er springt immer zu der show_error-Funktion?? hab mir auch schon &prop[2] ausgeben lassen, das _IST 2_ !
Klar: if ( 2 != 1 oder 2 != 2 ) (Auswertung)
2!=1 ist war, deswegen wird der ganze Ausdruck wahr, deswegen wird show_error ausgeführt
da steht doch ganz klar, daß er nur in den Teil springen soll, wenn $prop[2] UNGLEICH 2 ist
Nein!
Deine Bedingung ist grundsätzlich immer wahr!
Was Du willst ist wohl:
if !($prop[2] == 1 or $prop[2] == 2) {
...
Gruß,
vinzenz
danke euch beiden.... !!
manchmal tut so ein kleiner klapps auf den hinterkopf ganz gut ;-)
ist wohl doch schon etwas spät, aber jetzt funktioniert es zumindest.
vielleicht mach ich lieber morgen früh weiter ;-))
danke auf jeden fall nochmal !!
grüße,
daniel
Guten [Tageszeit],
hallo alle zusammen,
irgendwie steh ich gerade ziemlich auf dem schlauch.
ich will dem besucher die möglichkeit geben, per file-feld ein GIF oder JPG hochzuladen. mit folgendem teil will ich feststellen, ob es wirklich eine solche datei ist:
<schnipp>
//DATEIUPLOADFELD
elseif($bild!="none")
{
$prop=getimagesize($bild);
if($prop[2]!=1 and $prop[2]!=2)
{
show_error("6","Die angegebene Datei stimmt nicht mit den
vorgegebenen Parametern überein<br>$prop[2]");
}
</schnapp>
Empfehle, Dir vom Weihnachtsmann ein Buch über Boolsche Algebra bringen zu lassen und eine andere Schreibweise für Quellcode... *gg*
Liebe Grüße aus http://www.braunschweig.de
Tom