23587
Goto Top

Bildupload mit Eintrag in SQL-Datanbank

Hallo,

ich arbeite immer noch an der Seite http://Lan-nf.ath.cx

Bei dem Scrikpt um die Einsätze zu schreiben fehlt mir eine Funktion, die ich leider nicht hinbekomme....
Wenn der einsatz geschrieben wird, soll es noch die möglichkeit geben 10 Bilder maximal pro EInsatz hochladen zu können... Bei dieser funktion bin ich noch am verzweifeln...
Ich brauche Dringend hilfe.

Hier ist einmal der Quelltext von

einsatz_schreiben.php

<h3><u>Einsatz eintragen</u></h3></FONT></b></TD>
   <?php
   include('inc_config.php');  
 if($_POST['post']) {  
    $nummer = $HTTP_POST_VARS['nummer'];  
	$beschreibung = $HTTP_POST_VARS['beschreibung'];  
	$kraefte = $HTTP_POST_VARS['kraefte'];  
	$ort = $HTTP_POST_VARS['ort'];  
	$datum = $HTTP_POST_VARS['datum'];  
	$zeit = $HTTP_POST_VARS['zeit'];  
	$fahrzeuge = $HTTP_POST_VARS['fahrzeuge'];  
	$ende = $HTTP_POST_VARS['ende'];  
	$bericht = $HTTP_POST_VARS['bericht'];  
	if($nummer=="")  
	{
	  echo 'Bitte die Einsatznummer eintragen!';  
	}
	else { 


$sql = "INSERT INTO einsatz (`nummer`,`beschreibung`,`kraefte`,`ort`,`datum`,`zeit`,`fahrzeuge`,`ende`,`bericht` ) VALUES ('$nummer','$beschreibung','$kraefte','$ort','$datum','$zeit','$fahrzeuge','$ende','$bericht' ) ";  
 mysql_query($sql);
	  echo 'Einsatz wurde erfolgreich eingetragen!';  
};

}


 else {
echo '  
 <form method=post action="index.php?section=admin&section=einsatz_schreiben">  
 	<table width="50%">  
 		<tr>
 		<td>
   			<b>Einsatznummer (Bsp.: 001):</b>
		</td> 
   		<td>
			<INPUT type="text" name="nummer" value="" size="" maxlength=""><br>  
		</td>
		</tr>
		
		<tr>
		<td>
   			<b>Kurze Beschreibung:</b> 
		</td>
		<td>
			<INPUT type="text" name="beschreibung" value="" size="" maxlength=""><br>  
		</td>
		</tr>
		
		<tr>
		<td>
   			<b>Einsatzkräfte (Zahl):</b> 
		</td>
		<td>
			<INPUT type="text" name="kraefte" value="" size="" maxlength=""><br>  
		</td>
		</tr>
		
		<tr>
		<td>
   			<b>Ort:</b> 
		</td>
		<td>
			<INPUT type="text" name="ort" value="" size="" maxlength=""><br>  
		</td>
		</tr>
		
		
		<tr>
		<td>
   			<b>Datum des Einsatzes (Bsp.: 01.01.2007):</b> 
		</td>
		<td>
			<INPUT type="text" name="datum" value="" size="" maxlength=""><br>  
		</td>
		</tr>
		
		<tr>
		<td>
   			<b>Zeit der Alamierung:</b> 
		</td>
		<td>
			<INPUT type="text" name="zeit" value="" size="" maxlength=""><br>  
		</td>
		</tr>
		
		

		<tr>
		<td>
   			<b>Einsatzende:</b> 
		</td>
		<td>
			<INPUT type="text" name="ende" value="" size="" maxlength=""><br>  
		</td>
		</tr>
		
				<tr>
		<td>
   			<b>Eingesätze Fahrzeuge:</b> 
		</td>
		<td>
			<INPUT type="text" name="fahrzeuge" value="" size="" maxlength=""><br>  
		</td>
		</tr>
		<tr>
		<td>
   			<b>Bericht:</b><br>
		</td>
		<td>
   			<TEXTAREA name="bericht" cols="40%" rows="5" ></TEXTAREA> <br>  
		</td>
		</tr>
		
		<tr>
			<td>




				
				
			</td>
		</tr>		
		
		<tr>
		<td>
   		<INPUT type="submit" name="post" value="Einsatz eintragen">  
		</td>
		</tr>
	</table>
   </form> 
   ';  
 };
   ?>

Content-Key: 58939

Url: https://administrator.de/contentid/58939

Printed on: April 23, 2024 at 12:04 o'clock

Member: Dani
Dani May 14, 2007 at 15:42:20 (UTC)
Goto Top
Hi!
Also ich habe jetzt deinen Quellcode durchgeschaut und scheint alles in Ordnung zu sein. Sollen wir die Uploadfunktion für dich machen oder möchtest du wisssen, wie man die Grenze mit 10 Bilder realisieren könnte?! Ein bisschen genauer solltest du die Info's schon beschreiben.


Gruß
Dani
Mitglied: 23587
23587 May 14, 2007 at 17:41:50 (UTC)
Goto Top
Also... ich habe shcon verschiedene skripte ausprobiert, aber keines konnte das, was ich wollte... Deswegen brauche ich hilfe beim "coden"...
In der SQL Datenbank habe ich Tabellen angelegt... bild0 -bild9.. Das sollte doch auch in der Datenbank langen, oder? Er soll ja nur die Bilder hochladen und den link in der Datenbank speichern.

Ich bruache also hilfe bei der realisierung von dem skript... Achso... es sollte auch so sein:

Bsp:

Es werden nur 5 bilder hochgeladen, weil nur 5 Bilder von dem Einsatz gemacht worden sind.... Dann sollte er in die Datenbank eintragen bilder/none.jpg. also das nur ein Platzhalter genommer wird.

Die funktion laute dann doch:

    if($bild5=="")  
    $bild5="bilder/none.jpg";   

oder liege ich falsch?

Gruß Aleks
Member: Dani
Dani May 14, 2007 at 17:51:55 (UTC)
Goto Top
Hmmm...also ich würde einmal die Einsätze in eine Tabelle speichern und für die Links zu den Bildern eine neue Tabelle anlegen. In dieser Tabelle solltest noch die ID des Einsatztabelles dann berücksichtigen. Somit kann jeder Link einem Beitrag zu zuordnen.

Es werden nur 5 bilder hochgeladen, weil nur 5 Bilder von dem Einsatz gemacht worden
sind.... Dann sollte er in die Datenbank eintragen bilder/none.jpg. also das nur ein
Platzhalter genommer wird.
Sowas ist nicht nötig. Ich würde dies einfach weglassen.

So sieht mein PHP-Code aus:
echo "<form method='post' enctype='multipart/form-data'>";  
....
echo "<td align='center'>Neues Bild hochladen:&nbsp;<input type='file' name='pic' class='field' size='25'></td>";  
....
echo "</form>";  
Hier noch die copy von dem Bild:
if(isset($_FILES['pic']['tmp_name']) and ($_FILES['pic']['tmp_name'] <> ""))  
   {
	$imagedata = GetImageSize($_FILES['pic']['tmp_name']);  
	if($imagedata[2] == 0) 
	 {
	  ?>
      <script language="JavaScript">  
      alert('Die Datei ist kein Bild!');  
      history.back();
      </script>
      <? 
	  break;
	 }
   }
   
  if(isset($_FILES['pic']['name']))  
   {
    $mannschaft=strtolower($subtitel);
	$mannschaft=str_replace(" ","",$mannschaft);  
	$mannschaft=str_replace("/","-",$mannschaft);  
    $ziel ="../images/mannschaften/training/".$mannschaft.".jpg";  
    $newtmpname = "./tmppic";  
    copy($_FILES['pic']['tmp_name'], $ziel);  
   }
Natürlich musst du den letzten Block noch anpassen, da ich dort Zeichen ersetzt habe. face-smile


Gruß
Dani
Mitglied: 23587
23587 May 14, 2007 at 18:08:48 (UTC)
Goto Top
hmm... ist das so richtig?

<?php
include('inc_config.php');  
	
	
	$sql = "INSERT INTO einsatz (`bild01` ) VALUES ('$bild01' ) ";  
 mysql_query($sql);
	
if(isset($_FILES['bild01']['tmp_name']) and ($_FILES['bild01']['tmp_name'] <> ""))  
   {
    $imagedata = GetImageSize($_FILES['bild01']['tmp_name']);  
    if($imagedata[2] == 0) 
     {
      ?>
      <script language="JavaScript">  
      alert('Die Datei ist kein Bild!');  
      history.back();
      </script>
      <? 
      break;
     }
   }
   
  if(isset($_FILES['bild01']['name']))  
   {
    $bild01=strtolower($subtitel);
    $bild01=str_replace(" ","",$bild01);  
    $bild01=str_replace("/","-",$bild01);  
    $ziel ="bilder/".$bild01.".jpg";  
    $newtmpname = "tmppic/";  
    copy($_FILES['bild01']['tmp_name'], $ziel);  
   }

?>



<?php

echo "<form method='post' enctype='multipart/form-data'>";  

echo "<td align='center'>Neues Bild hochladen:&nbsp;<input type='file' name='bild01' class='field' size='25'></td>";  
echo "<input class='button' type='submit' name='upload' value='Datei hochladen'>";  
echo "</form>";  

?>

Er läd ein bild hoch, löscht den namen.. macht nur .jpg , udn trägt nichts in die SQL-Datenbank ein..
Wenn ich ein neues Bild hochladen will, überschreibt er das alte...

Weißt du eigentlich, wie ich das alles meine?; Also mit meinem Vorhaben.

Gruß Aleks