WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik



Im Homepage und Webhosting-Forum --- Formular mit Bilderupload - Checkbox entscheidet ob Bild mit hochgeladen wird

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.

Forum » PHP & MySQL » Formular mit Bilderupload - Checkbox entscheidet ob Bild mit ... - 25 Feb 2024 Antworten
im Forum für Webhosting Homepage gefunden:
Formular mit Bilderupload - Checkbox entscheidet ob Bild mit hochgeladen wird
solomat
Pixelschubser
Threadstarter




Beiträge: 14

Hallo, mein Problem besteht darin, das, wenn der User kein Bild hochladen möchte, er nicht die Fehlermeldung bekommen soll das der Dateityp falsch ist(So ist es im Moment, siehe Code), sondern darauf hingewiesen werden soll, das er in einer Checkbox ankreuzen soll das er kein Bild hochladen will. Und wenn er kein Bild hochläd, soll ein Dummie an dieser Stelle erscheinen wo eigentlich das Bild ist.

Hier die edit.htm wo das Formular drin steckt:
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: 
96: 
97: 
98: 
99: 
100: 
101: 
102: 
103: 
104: 
105: 
106: 
107: 
108: 
109: 
110: 
111: 
112: 
113: 
114: 
115: 
116: 
117: 
118: 
119: 
120: 
121: 
122: 
123: 
124: 
125: 
126: 
127: 
128: 
129: 
130: 
131: 
132: 
133: 
134: 
135: 
136: 
137: 
138: 
139: 
140: 
141: 
142: 
143: 
144: 
145: 
146:
 
$meldung
Bitte geb hier deine vollständigen Daten ein. Nur so kann gewährleistet werden, das du in den DJ-Pool mit aufgenommen wirst.
Bitte beachte, es muss alles Ausgefüllt werden!
     
Name |  
Alter |  
Stadt / Land |  

   
DJ-Name |  
DJ seit* |  
Musikrichtung/Stil |  
Referenzen/Clubs |  
Keine Referenzen Vorhanden
     
E-Mail-Adresse |  
Homepage |  
Keine Hompage Vorhanden
     
kurze Beschreibung |  
     
Bild |  
    Kein Bild hochladen
max. 30 Kb | nur gif & jpg
     
Passwort |  
Passwort wiederholen |  
     
 
zurück
 



und hier die edit.php wo die Auswertung passiert.
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: 
96: 
97: 
98: 
99: 
100: 
101: 
102: 
103: 
104: 
105: 
106: 
107: 
108: 
109: 
110: 
111: 
112: 
113: 
114: 
115: 
116: 
117: 
118: 
119: 
120: 
121: 
122: 
123: 
124: 
125: 
126: 
127: 
128: 
129: 
130: 
131: 
132: 
133: 
134: 
135: 
136: 
137: 
138: 
139: 
140: 
141: 
142: 
143: 
144: 
145: 
146: 
147: 
148: 
149: 
150: 
151: 
152: 
153: 
154: 
155: 
156: 
157: 
158: 
159: 
160:
 

DJ-Poolformular // Editor


0) { $zurueck='zum Formular zurückkehren'; echo "Infos
Fehler!
"; foreach ($fehler as $x) { echo "$x
\n"; } echo "
$zurueck

\n"; } else { $pass1 = md5($pass2); $sql="UPDATE `djpool` SET `name` = '$name', `alter` = '$alter', `city` = '$city', `djnick` = '$djnick', `djseit` = '$djseit', `stil` = '$stil', `ref` = '$ref', `email` = '$email', `homepage` = '$homepage', `filename` = '$filename', `besch` = '$besch', `pass` = '$pass1' WHERE `id` = '$id'"; if (mysql_query($sql,$verbindung)) { echo "Infos
Erfolgreich Aktualisiert"; echo "
zur Liste
"; // Hier würde ich evtl noch eine html File includen! } else { echo "
Fehler!

\n"; echo "Leider ist bei der Anmeldung zur Datenbank ein Fehler unterlaufen.
Bitte melden Sie sich nochmal an.

zurück zum Formular

\n"; } } } ?>
Bilderupload
"; echo"Die Datei wurde erfolgreich hochgeladen.
"; echo"Größe: ".$size." Byte
"; echo"Name: ".$djnick."
"; echo"MIME-Type: ".$type."
"; echo"Ansehen: ".$djnick.".".$str['0'].""; }else{ echo"

Bilderupload
"; echo"Ihre Datei ist zu gross oder gleich 0kb!"; } }else{ echo"

Bilderupload
"; echo"Du wolltest einen falschen Dateityp hochladen!
Es sind nur gif und jpg Datein erlaubt!"; } }else{ } ?>

  Profil   E-Mail   Website   Editieren   Zitieren
subjective
Forenheld




Beiträge: 844

Prüfe halt vor dem Verschieben der hochgeladenen Datei ab, ob die Checkbox gesetzt wurde.

Noch ein paar Bemerkungen zu dem Script (das HTML dürfen gerne andere bewerten )

- error_reporting(E_ALL)
- Superglobals verwenden ($_POST bzw $FILES)
- move_uploaded_file() statt copy() verwenden
- Quellcode immer einrücken
- die Dateigröße selbst mit filesize() prüfen .. niemals auf die Angaben des Browsers verlassen
- mit getimagesize() den Dateityp prüfen .. niemals auf die Angaben des Browsers verlassen
- niemals eval() verwenden
- isset() + inhaltlicher Prüfung statt nur empty()
- Im SELECT immer die Felder angeben
- Variablen für SQL escapen .. mysql_escape_string()
- preg_match() statt ereg() verwenden
- include_once() statt include() bei Funktionsbiliotheken, welche man mehrfach includet
- Variablen kommen nicht in " - nur Strings (welche eventuell Variablen enthalten)
- statt array_push geht auch einfach: $array[] = 'added element';


Es gibt im PHP-Manual ein
Kapitel zum Dateiupload.

---
Weaverslave

Diese Nachricht wurde geändert von: subjective
  Profil   Website   Editieren   Zitieren
solomat
Pixelschubser
Threadstarter




Beiträge: 14

Prüfe halt vor dem Verschieben der hochgeladenen Datei ab, ob die Checkbox gesetzt wurde.


Das ist jedoch das wobei ich Hilfe brauche.

Aber vielen Dank für die Tips für dieses Script.

  Profil   E-Mail   Website   Editieren   Zitieren
subjective
Forenheld




Beiträge: 844

*hmmm* Aber wie schaffst du es dann den Button und die Dateiendung zu prüfen? Die Checkbox wäre noch genauso...

---
Weaverslave

  Profil   Website   Editieren   Zitieren
solomat
Pixelschubser
Threadstarter




Beiträge: 14

Es soll ja, wenn die Checkbox geklickt(also der user kein Bild hochladen will) ist, lediglich dummie.gif in die Datenbank eingetragen werden und der Rest des Script soll ja nur dann geschehen wenn die checkbx nicht geklickt ist, da wird ja dann geprüft ob die Dateiendung die rihtige ist und ob das Bild nicht zu groß ist.

  Profil   E-Mail   Website   Editieren   Zitieren
a-man
Mausakrobat




Beiträge: 154

http://de.selfhtml.org/html/formulare/auswahl.htm#checkboxen

ich schaetz mal, da kann man dann ganz normal zugreifen...
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10:
Salami


---
Debian ruult...
KDE ruult...
Opera ruult...

Diese Nachricht wurde geändert von: a-man
  Profil   Website   Editieren   Zitieren
solomat
Pixelschubser
Threadstarter




Beiträge: 14

Habe es jetzt soweit hinbekommen, das, wenn die Checkbox geklickt wurde, der Eintrag dummie.gif erfolgt und wenn keine Datei ausgewählt wurde eine Fehlermeldung kommt. Allerdings soll wenn kein Bild ausgewählt wurde, bzw. die Checkbox geklickt wurde der Rest vom Script nicht weiterlaufen. Also die Fehlermeldungen, da ja kein Bild da ist was einen Dateitypen hat, sollen nicht erscheinen. Kann mir da jemand helfen?

Ab Zeile 17 soll dann Schluss sein, wenn keine Datei ausgewählt wurde, bzw. die Checkbox geklickt wurde.

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:
if(isset($submit)){ 
if($nobild == 1)
	{
	$bild = "dummie.gif";
	}
	else
	{	if(empty($bild))
		{
		echo"

Bilderupload
Wenn du kein Bild hochladen möchtest, kreuze dafür bitte das Feld an!";
		}
	}
$sql="UPDATE `djpool` SET `filename` = '$bild' WHERE `id` = '$id'";
mysql_query($sql,$verbindung);
//hier soll dann schluss sein falls kein bild ausgesucht wurde, bzw. die checkbox geklickt wurde.
$size=$bild_size; 
$name=$bild_name; 
$type=$bild_type; 
$datei = "$name"; 
$str = explode(".", $datei); 
$str = array_reverse($str); 
if(eregi("(jpg|gif)$",$name)){ 
if($size<30000AND$size!=0){ 
@copy($bild,"memberpics/".$djnick.".".$str['0']); 
$datei_name=$djnick.".".$str['0'];
$sql="UPDATE `djpool` SET `filename` = '$datei_name' WHERE `id` = '$id'";
mysql_query($sql,$verbindung);
echo"

Bilderupload
"; 
echo"Die Datei wurde erfolgreich hochgeladen.
"; 
echo"Größe: ".$size." Byte
"; 
echo"Name: ".$djnick."
"; 
echo"MIME-Type: ".$type."
"; 
echo"Ansehen: ".$djnick.".".$str['0'].""; 
}else{ 
echo"

Bilderupload
";
echo"Ihre Datei ist zu gross oder gleich 0kb!"; 
} 
}else{ 
echo"

Bilderupload
";
echo"Du wolltest einen falschen Dateityp hochladen!
Es sind nur gif und jpg Datein erlaubt!";
} 
}else{ 
} 

Diese Nachricht wurde geändert von: solomat
  Profil   E-Mail   Website   Editieren   Zitieren
a-man
Mausakrobat




Beiträge: 154

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:
Bild abschicken
Bilderupload Wenn du kein Bild hochladen möchtest, kreuze dafür bitte das Feld an!"; } } $sql="UPDATE `djpool` SET `filename` = '$bild' WHERE `id` = '$id'"; mysql_query($sql,$verbindung); ///////// die varis wuerd ich der uebersichtlichkeit wegen nach oben verschieben, aber das ueberlasse ich dir... $checkbox = $_REQUEST['zutat']; if($checkbox == "salami") { ///////// $size=$bild_size; $name=$bild_name; $type=$bild_type; $datei = "$name"; $str = explode(".", $datei); $str = array_reverse($str); if(eregi("(jpg|gif)$",$name)){ if($size<30000AND$size!=0){ @copy($bild,"memberpics/".$djnick.".".$str['0']); $datei_name=$djnick.".".$str['0']; $sql="UPDATE `djpool` SET `filename` = '$datei_name' WHERE `id` = '$id'"; mysql_query($sql,$verbindung); echo" Bilderupload "; echo"Die Datei wurde erfolgreich hochgeladen. "; echo"Größe: ".$size." Byte "; echo"Name: ".$djnick." "; echo"MIME-Type: ".$type." "; echo"Ansehen: ".$djnick.".".$str['0'].""; }else{ echo" Bilderupload "; echo"Ihre Datei ist zu gross oder gleich 0kb!"; } }else{ echo" Bilderupload "; echo"Du wolltest einen falschen Dateityp hochladen! Es sind nur gif und jpg Datein erlaubt!"; } }else{ } } ?>


PS: code einruecken waer eine gute idee...

---
Debian ruult...
KDE ruult...
Opera ruult...

Diese Nachricht wurde geändert von: a-man
  Profil   Website   Editieren   Zitieren
solomat
Pixelschubser
Threadstarter




Beiträge: 14

Hab das jetzt mal versucht, und funktioniert soweit auch, nur hab ich das Problem, wenn ich jetzt nen Bild mit hochladen will, bekomm ich dafür weder Fehlermeldung noch Erfolgsmeldung. Woran liegt das?

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:
Bilderupload
Wenn du kein Bild hochladen möchtest, kreuze dafür bitte das Feld an!"; } } $sql="UPDATE `djpool` SET `filename` = '$bild' WHERE `id` = '$id'"; mysql_query($sql,$verbindung); $checkbox = $_REQUEST['nobild']; if($checkbox == "0") { $size=$bild_size; $name=$bild_name; $type=$bild_type; $datei = "$name"; $str = explode(".", $datei); $str = array_reverse($str); if(eregi("(jpg|gif)$",$name)){ if($size<30000AND$size!=0){ @copy($bild,"memberpics/".$djnick.".".$str['0']); $datei_name=$djnick.".".$str['0']; $sql="UPDATE `djpool` SET `filename` = '$datei_name' WHERE `id` = '$id'"; mysql_query($sql,$verbindung); echo" Bilderupload "; echo"Die Datei wurde erfolgreich hochgeladen. "; echo"Größe: ".$size." Byte "; echo"Name: ".$djnick." "; echo"MIME-Type: ".$type." "; echo"Ansehen: ".$datei_name.""; }else{ echo" Bilderupload "; echo"Ihre Datei ist zu gross oder gleich 0kb!"; } }else{ echo" Bilderupload "; echo"Du wolltest einen falschen Dateityp hochladen!
Es sind nur gif und jpg Datein erlaubt!"; } }else{ } } ?>

  Profil   E-Mail   Website   Editieren   Zitieren
a-man
Mausakrobat




Beiträge: 154

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:
if($nobild == "1") {
   $bild = "dummie.gif";
}
elseif(empty($bild) { // warum wuerde diese abfrage nicht ausreichen?
//////////////////////// dann muesste hier das mit dem dummie stehn...
   echo "Wenn du kein Bild hochladen möchtest...klicke checkbox";
}
else {
   $sql="UPDATE `djpool` SET `filename` = '$bild' WHERE `id` = '$id'"; /////// wozu?
   mysql_query($sql,$verbindung);
   $checkbox = $_REQUEST['nobild'];
   ////if($checkbox == "0")##ist deswegen nicht gegangen, weil $checkbox nie "0" war...
   $size=$bild_size; 
   $name=$bild_name; 
   $type=$bild_type; 
   $datei = "$name"; 
   $str = explode(".", $datei); 
   $str = array_reverse($str); 
   if(eregi("(jpg|gif)$",$name)){ 
      if($size<30000AND$size!=0){ 
         @copy($bild,"memberpics/".$djnick.".".$str['0']); 
         $datei_name=$djnick.".".$str['0'];
         $sql="UPDATE `djpool` SET `filename` = '$datei_name' WHERE `id` = '$id'";
         mysql_query($sql,$verbindung);
         echo"
         
         Bilderupload
         "; 
         echo"Die Datei wurde erfolgreich hochgeladen.
         "; 
         echo"Größe: ".$size." Byte
         "; 
         echo"Name: ".$djnick."
         "; 
         echo"MIME-Type: ".$type."
         "; 
         echo"Ansehen: ".$datei_name.""; 
      }else{ 
         echo"
        
         Bilderupload
         ";
         echo"Ihre Datei ist zu gross oder gleich 0kb!"; 
         } 
   }else{ 
      echo"
   
      Bilderupload
      ";
      echo"Du wolltest einen falschen Dateityp hochladen!

      Es sind nur gif und jpg Datein erlaubt!";
      } 
   }
}


hoffe das ich da jetzt keinen fehler eingebaut hab...

@solomat
wenn man dir helfen soll, solltest du deinen code strukturieren (und am besten kuerzen), ich hab das jetzt gemacht, weil ich nicht weiß, ob du weißt was ich meine...

---
Debian ruult...
KDE ruult...
Opera ruult...

Diese Nachricht wurde geändert von: a-man
  Profil   Website   Editieren   Zitieren
solomat
Pixelschubser
Threadstarter




Beiträge: 14

Parse error: parse error, unexpected '{' in /home/www/n4a104/html/solomat/v2/djpool/edit.php on line 116

Diese Fehlermeldung kommt leider. Liegts an diesen elseif?

Zeile 116:
1:
elseif(empty($bild) { 

  Profil   E-Mail   Website   Editieren   Zitieren
Philipp Gérard
Foren-Team




Beiträge: 1502

ja

---
Arbeit ist das Feuer der Gestaltung. - Marx

  Profil   E-Mail   Website   Editieren   Zitieren
solomat
Pixelschubser
Threadstarter




Beiträge: 14

mh, was kann ich da machen?

  Profil   E-Mail   Website   Editieren   Zitieren
subjective
Forenheld




Beiträge: 844

Da fehlt ne ).

---
Weaverslave

  Profil   Website   Editieren   Zitieren
a-man
Mausakrobat




Beiträge: 154

ups...

---
Debian ruult...
KDE ruult...
Opera ruult...

  Profil   Website   Editieren   Zitieren
Seite 1 | 2  

Antworten
Forum » PHP & MySQL » Formular mit Bilderupload - Checkbox entscheidet ob Bild mit ...

Aktuelle Beiträge zur Hilfe im Forum für Homepage - Formular mit Bilderupload - Checkbox entscheidet ob Bild mit hochgeladen wird im Forum Homepage Hosting AntwortenLetztes Posting
Best online slots
in "PHP & MySQL"
0 23.01.2023 22:40 von Sevetr
Rangliste (Ohne Mysql) (Kompliziertes Ordner System)
in "PHP & MySQL"
3 19.07.2021 06:00 von newtopblog
kleines problem mit phpadmin
in "PHP & MySQL"
5 11.04.2021 22:22 von Zavylon
Counter mit PHP
in "PHP & MySQL"
4 22.03.2021 16:29 von Robeni
Fehlermeldung beim Importieren der Datenbank in phpmyadmin
in "PHP & MySQL"
0 02.08.2019 22:14 von iFuchs
CMS für Online Shop
in "PHP & MySQL"
18 26.05.2019 13:29 von raiserle
Regestrierungproblem
in "PHP & MySQL"
3 28.11.2018 13:20 von norbertofahey
PHP Datum ausgeben?
in "PHP & MySQL"
1 19.10.2018 10:04 von Klaus1973
PHP befehl ausführen
in "PHP & MySQL"
11 16.08.2018 09:08 von Klaus1973
Visual Composer selber programmieren?
in "PHP & MySQL"
0 22.01.2017 23:45 von Redji
php preg_replace_callback für dynamischen Link
in "PHP & MySQL"
0 05.07.2016 11:02 von Rm21
PHP Code verschlüsseln
in "PHP & MySQL"
20 21.02.2016 21:25 von Kilian1
migrierter WP-Blog läuft nicht ...
in "PHP & MySQL"
0 04.02.2016 02:01 von Oxygon



Besucher : 7962506    Heute : 174     Gestern : 263     Online : 6     25.2.2024    15:15      0 Besucher in den letzten 60 Sekunden        
Nach oben