Implementierung eines Upload

soa

Erfahrenes Mitglied
Hallo zusammen,

hier nun der 10000. Beitrag zum Thema Upload-Tool.

Nun denn, ich habe eine upload.php, die hervorragend funktioniert.
Alle Bilder werden in ein Verzeichnis geschoben.

Ein Bild soll wahlweise zu einem Forumbeitag hinzugefügt werden können.
Nun habe ich in einem .php Formular folgendes gemacht.

Ein Button:

Code:
<form>
<input type="button" name="bildupload" value="Bild hinzufuegen" onclick="fensterUpload()">
</form>

in Verbidung mit einem popup:

Code:
function fensterUpload()
{
    var URL = "upload.php";
    var Name = "Bild Upload";
    var Fensteroptionen = "toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=0";
    var Breite = 400;
    var Hoehe = 450;
    window.open(URL, 'Name', Fensteroptionen + ',width=' + Breite + ',height=' + Hoehe);
}
//-->
</script>

Nun läßt sich das Formular nicht mehr abschicken. Ohne den Button geht es.
Warum funktionieren nicht mehrere Buttons in einem Formular

und

Wäre es sinnvoll die Bilder aus dem Verzeichnis in einer Datenbank zu speichern und
anschließend aus dem Verzeichnis zu löschen, wenn ich alle Daten eh in einer db ablege?

Danke


SOA
 
Nun ja,

das wird es wohl kaum sein:

Hier mal der gesamt Code:

Code:
<?php session_start ();
include_once('header.php');



if(!$_SESSION["benutzer"] || $_SESSION['benutzer'] == "")
   {
   $fehler = rawurlencode ("Als Besucher kannst du keine Kommentare posten, bitte erst anmelden"); 
     echo '<head><meta http-equiv="refresh" content="0; URL=fehler.php?fehler='.$fehler.'"></head>';
   }
   

   else
   {
   
  
. 
   
$benutzername        = $_SESSION["benutzer"];
$betreff             = $_POST[betreff];
$eintrag             = $_POST[eintrag];


$db=mysql_connect("localhost","root")or die(mysql_error());
mysql_select_db("weblog", $db)or die(mysql_error());
  


if(isset($_POST[abschicken])){ 
$vollstaendig = 1;
  

if(empty($betreff))
  {
   $vollstaendig =0;
            ?>
              <script language ="JavaScript">
              window.alert("Betreff fehlt!");
              </script>
    
           <?php 
  }//endif 
  
if(empty($eintrag))
  {
   $vollstaendig =0;
            ?>
              <script language ="JavaScript">
              window.alert("Beitrag fehlt!");
              </script>
    
           <?php 
  }//endif 
    
   }//isste        



if($vollstaendig){ 

mysql_query("
  INSERT INTO eintraege
  (datum, benutzername, betreff, eintrag)
  VALUES
  (NOW(''), '$benutzername', '$betreff', '$eintrag')
  ", $db)or die(mysql_error());
  $danke = rawurlencode ("Vielen Dank für deinen Beitrag!");
   echo '<head><meta http-equiv="refresh" content="0; URL=danke.php?danke='.$danke.'"></head>';
  
 }

else
{

  ?>
 <html>
<head>
<script language="JavaScript">
<!--
function fensterUpload()
{
    var URL = "upload.php";
    var Name = "Bild Upload";
    var Fensteroptionen = "toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=0";
    var Breite = 400;
    var Hoehe = 450;
    window.open(URL, 'Name', Fensteroptionen + ',width=' + Breite + ',height=' + Hoehe);
}
//-->
</script>

</head>


   <!-- INHALT___________________________________________________ -->  
   <body> 
 <table width="52%" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td>
<h2 align="left">&nbsp;</h2>
<h2 align="left">E I N T R A G<br>
&nbsp; </h2>
</td>
<br>

<tr>
<form name = "eintrag" action="eintrag.php" method ="post" enctype ="multipart/form-data">
<input type="hidden" name = "ausgabezeit" value = "<?php echo time(); ?>">
<td>&nbsp;</td>
</tr>
									
                
                                                                 					
<tr>
<td class="invert">&nbsp;</td>
<td class="invert">&nbsp;<br>
Betreff: <input type="text" size="40" name="betreff"><br><br>
Text   : <textarea name="eintrag" cols="40" rows="8"></textarea><br><br>

<form>
<input type="button" name="bildupload" value="Bild hinzufuegen" onclick="fensterUpload()">
</form>

<td valign="top"><img src="<?php echo $pfad.$name; ?>" alt="" height="<?php echo $groesse[0]; ?>"
 width=""<?php echo $groesse[1] ?>"" border="0"></td>
</tr>
  
		
 <td>&nbsp;</td>
 <tr>
<td >&nbsp;</td>
<td >&nbsp;<br>

<input type ="submit" value = "Abschicken"> <input type ="submit" value = "Zuruecksetzen"><br> <br>
<input type="hidden" name="abschicken" value="1"> 
&nbsp; </td>
</tr>
  										
</table>

<?php 
  }//else if geschlossen
  }//else session geschlossen

include_once('footer.html');
?>
</body>
</html>

Vielleicht ist es so besser ersichtlich......
 
<form>-Elemente kann man nicht verschachteln.
Bevor du einen neuen Form-tag öffnest, muss ein etwaiger vorrangegangener geschlossen werden.

Vielleicht schaust du besser mal bei SelfHTML hinein, um dich über den Aufbau von Formularen zu informieren.

Ein HTML-Validator dürfte auch gute Dienste leisten: http://validator.w3.org
 
na sowas.....


dann eben so:
<a href="#" onClick="document.formname.submit()">login</a>

:) danke
 
Zurück