javascript: formular checked bei mausklick

Alles, was PHP betrifft, kann hier besprochen werden.

javascript: formular checked bei mausklick

Postby TTP » 29. July 2004 15:26

Hi ich brauch mal Hilfe, denn mit Javascript hab ich so gar nix am Hut ^^^

Ich hab ein Formular mit Dateiupload:

<input name="upload" type="file" style="width:323; text-align:right"> <input type="checkbox" name="uploadaktiv" value="y"> Bild aktivieren<br><br>

um den dateiupload dann auch zu aktivieren muss man einen haken in das feld dahinter machen, aber es soll nicht von vorne rein schon ein hacken drin sein. Nu brauch ich einen Javascript, welches den hacken macht, wenn ich auf dieses Uploadfeld klicke. Wär einer so nett mir mal nen Tip oder nen Code zu geben, wie ich das hin bekomm?

Danke.

PS: Widmann wo bist du ;)
User avatar
TTP
 
Posts: 310
Joined: 30. August 2003 19:38
Location: Wolfsburg

Postby Wiedmann » 30. July 2004 10:55

Hi TTP,

für was brauchst du denn die Checkbox?
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby TTP » 30. July 2004 12:24

nur wenn die aktiviert is wird ne datei includet, weil das bei dem upload feld nicht mit empty() funktioniert, ka. warum. darum das Checkboxfeld
User avatar
TTP
 
Posts: 310
Joined: 30. August 2003 19:38
Location: Wolfsburg

Postby Wiedmann » 30. July 2004 12:45

Code: Select all
if (!empty($_FILES['upload']['name'])) {
   include('datei.inc.php');
}
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby TTP » 30. July 2004 18:12

und das geht? erscheint mir so unlogisch irgendwie...

aber ich werd es mal ausprobieren
User avatar
TTP
 
Posts: 310
Joined: 30. August 2003 19:38
Location: Wolfsburg

Postby Wiedmann » 30. July 2004 19:23

Ist halt bei empty() das Naheliegende. Mit was hast du denn das empty überprüft?

Sobald du ein Upload-Feld im Formular hast, wird auch das $_FILES-Array erstellt. Man könnte jetzt natürlich davon ausgehen, dass es einen Dateinamen nur gibt, wenn auch eine Datei ausgewählt wurde. Das macht das Beispiel von vorher.

Nachteil ist aber, dass falls jemand Unsinn in das Feld schreibt oder z.B. nur die Leertaste drückt, auch der Dateiname gesetzt ist. Eigentlich ist es besser die Dateigröße zu prüfen (geht halt so nicht mit empty()...):
Code: Select all
if (0 < $_FILES['upload']['size']) {
   include('datei.inc.php');
}


Ist natürlich auch die Frage, was du in dem Include genau machst, oder was du mit der Datei machst? Wenn du die Datei später weiterhin benötigst, mußt du sie ja eh aus dem Temp herausholen.

Das genaueste wäre also noch zusätzlich ein move_uploaded_file() zu machen und die Rückgabe auf "not false" zu überprüfen.Oder wenn du sie nur innerhalb des Scriptes in einer Funktion zum Weiterverarbeiten benötigst, zusätzlich ein is_uploaded_file(). Dann weist du wenigsten gleich, ob der Server mit der übertragenen Datei etwas anfangen kann.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby TTP » 30. July 2004 19:44

in dem include, verschieb ich die datei und benenn die um, d.h. andere reihnfolge ;)
User avatar
TTP
 
Posts: 310
Joined: 30. August 2003 19:38
Location: Wolfsburg

Postby TTP » 31. July 2004 15:06

funktioniert sogar ^^ hehe danke wiedmann xD *Thread closed*
User avatar
TTP
 
Posts: 310
Joined: 30. August 2003 19:38
Location: Wolfsburg


Return to PHP

Who is online

Users browsing this forum: No registered users and 2 guests