Bilder in Ordner und dann wieder ausgeben!

Guten Morgen,

hmm ich weiß ja nicht so richtig, wo ich Anfangen soll und ich weiß auch dass das bestimmt schon sehr oft dran gekommen ist, dennoch stelle ich nun einfach mal die Frage.

Ich habe bei mir auf der Seite eine Rubrik die heißt Bilder. Da ich sehr gerne Bilder mache vor allem jetzt im Sommer will ich gerne folgendes machen:

Die Bilder sollen via Upload auf den Server geladen werden. Dann soll auch gleich einen Eintrag in die Datenbank gemacht werde. Anschließend sollen die Bilder auf der Seite private_bilder.php erscheinen.

So soll das dann aussehen:

Es sollen immer 4 Bilder in eine Reihe kommen. Die Bilder sollen dann eine Größe von 134*100 pixel haben. Wenn ich da dann drauf klicke, dann soll eben ein PopUp auf gehen und das Bild soll in Groß kommen. Zu dem Bild wurde ich dann darunter immer noch gerne Kommentare schreiben lassen.

So zum Schluss noch eines. Die Bilder sollen eben nicht alle in einen Ordner gehen NEIN die sollen immer nach Datum abgelegt werden. Heute ist ja der 22.05.05 dann soll auch ein Ordner angelegt werden vom 22.05.05 und morgen eben vom 23.05.05.

So ich hoffe dass Ihr mir helft, dass ich das hin bekomme. Das währe echt mega Lieb von euch allen.

Mit freundlichen Grüßen,
cheergirly1984
 
Hallo,

ok auf der Seite ist das recht gut beschrieben nur leider geht der Download nicht :-(

Aber ich bekomme jetzt diese Meldung:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /www/htdocs/v148718/impressum/galerie.php on line 5

Warning: mysql_num_fields(): supplied argument is not a valid MySQL result resource in /www/htdocs/v148718/impressum/galerie.php on line 6


In den Zeilen steht:

PHP:
$y=mysql_num_rows($result);
$k=mysql_num_fields($result);

Das ganze Script sieht nun so bei mir aus:

PHP:
 <?php
function query_into_array($query){
settype($retval,"array");
$result= mysql_query($query);
$y=mysql_num_rows($result);
$k=mysql_num_fields($result);
  for($i=0;$i<$y;$i++){
    for($j=0;$j<$k;$j++){
    $retval[$i][mysql_field_name($result,$j)] =
    mysql_result($result,$i,
mysql_field_name($result,$j));
    }
  }
return $retval;
}
?>
<?php
$db=@mysql_connect("localhost","v148718","r237qp44");
@mysql_select_db("galerie",$db);

// Daten in ein Array schreiben
$erg=query_into_array("select * from galerie");

// Anzahl der Bilder ermitteln
$y=count($erg);
?>
<TABLE WIDTH="760" CELLSPACING="0">
<? for ($x=0;$x<$y;$x+=5) {?>
  <TR>
    <TD WIDTH="20%">
      <? if($erg[$x][bild]) {?>
      <IMG SRC="<? echo "pics/".$erg[$x][bild] ?>">
      <? } ?>
    </TD>
    <TD WIDTH="20%">
      <? if($erg[$x+1][bild]) {?>
      <IMG SRC="<? echo "pics/".$erg[$x+1][bild] ?>">
      <? } ?>
    </TD>
    <TD WIDTH="20%">
      <? if($erg[$x+2][bild]) {?>
      <IMG SRC="<? echo "pics/".$erg[$x+2][bild] ?>">
      <? } ?>
    </TD>
    <TD WIDTH="20%">
      <? if($erg[$x+3][bild]) {?>
      <IMG SRC="<? echo "pics/".$erg[$x+3][bild] ?>">
      <? } ?>
    </TD>
    <TD WIDTH="20%">
      <? if($erg[$x+4][bild]) {?>
      <IMG SRC="<? echo "pics/".$erg[$x+4][bild] ?>">
      <? } ?>
    </TD>
    </TR>
  <TR>
    <TD WIDTH="20%"><? echo $erg[$x][text] ?></TD>
    <TD WIDTH="20%"><? echo $erg[$x+1][text] ?></TD>
    <TD WIDTH="20%"><? echo $erg[$x+2][text] ?></TD>
    <TD WIDTH="20%"><? echo $erg[$x+3][text] ?></TD>
    <TD WIDTH="20%"><? echo $erg[$x+4][text] ?></TD>
  </TR>
  <? } ?>
</TABLE>

Gruß
 
Zuletzt bearbeitet:
Hallo,

ich hab mir das Script schon vor einiger Zeit runtergeladen und hab es jetzt angehängt.

mfg
forsterm

EDIT:

Hab hier mal schnell ein Uploadscript geschrieben.

index.html
HTML:
<html>
<head>
<title>Bilder Upload</title>
</head>
<body>
<form method="POST" enctype="multipart/form-data" action="upload.php">
<p>1. Bild auswählen welches hochgeladen werden soll.</p>
<p><input type="file" name="file" size="20"></p>
<p></p>
<p>2. Beschreibung zum Bild eingeben.</p>
<p><textarea rows="7" name="text" cols="37"></textarea></p>
<p></p>
<p><input type="submit" value="Absenden" name="Absenden"></p>
</form>
</body>
</html>

upload.php
PHP:
<?php 
$tempname = $_FILES['file']['tmp_name']; 
$name = $_FILES['file']['name'];  
$type = $_FILES['file']['type']; 
$size = $_FILES['file']['size'];
 
if($type != "image/gif" && $type != "image/pjpeg") { 
	$err[] = "Es dürfen nur gif und jpeg Dateien hochgeladen werden."; 
} 
if($size > "15000") { 
	$err[] = "Die Datei welche du hochladen willst, ist zu groß!<br>Maximale Dateigröße beträgt 15 KB!"; 
}
 
if(empty($err)) { 
	copy("$tempname","$DOCUMENT_ROOT/pics/$name"); 
 $dbhost = "localhost";
 // MySQL - Host, meist ist es localhost
 $dbpass = "xxx";
 // MySQL - Passwort
 $dbuser = "xxx";
 // MySQL - Benutzer
 $dbdata = "xxx";
 // MySQL - Datenbankname
 $dbtabelle = "galerie";
 // MySQL - Tabellenname
 
	@mysql_connect($dbhost, $dbuser, $dbpass); 
		// Auswahl der Datenbank 
	@$x=mysql_select_db($dbdata); 
		if (empty($x)) { 
		   echo "Fehler beim Verbinden mit dem Datenbankserver<br>"; 
		   exit; 
		} 
 if ($submit ="Absenden") 
 { 
 $query = "insert into $dbtabelle " 
 ." (bild, text) values " 
 ."('".$name."','".$text."')" ; 
 mysql_query($query);
 
 echo "Ihre Daten wurden erfolgreich eingetragen!";
 exit;
 }
} 
else { 
	foreach($err as $error) 
	echo "$error<br>"; 
} 
?>
 

Anhänge

Zuletzt bearbeitet:
cheergirly1984 hat gesagt.:
PHP:
 <?php
$db=@mysql_connect("localhost","v148718","r237qv22");
@mysql_select_db("galerie",$db);
Gut, dass Du die relevanten Fehlermeldungen unterdrückst.
Schreibe besser:
PHP:
 <?php
$db=mysql_connect("localhost","v148718","r237qv22") or die(mysql_error());
mysql_select_db("galerie",$db) or die(mysql_error());
Wo Du das Query ausführst ebenso:
PHP:
$result= mysql_query($query) or die(mysql_error());
Vermutlich siehst Du dann selbst anhand der Fehlermeldung, was nicht stimmt, ansonsten poste die Fehlermeldung bitte hier, sonst ist das ein Ratespiel.

Gruß hpvw
 
Es lautet aber, dass die Datenbank unbekannt ist, nicht die Tabelle.


Wenn dir das nicht weiterhilft, solltest du erst einmal herausfinden, wie ein DBMS wie MySQL überhaupt aufgebaut ist.
 
So hab nun noch ein Problem und zwar mit dem Upload.php von oben. Da kommt folgnede Meldung:

PHP:
Warning: copy(/www/htdocs/v148718//pics/Danke mit Herz.jpg) [function.copy]: failed to create stream: No such file or directory in /www/htdocs/v148718/impressum/U/upload.php on line 20
Ihre Daten wurden erfolgreich eingetragen!

So in der Zeile 20 steht:

PHP:
    copy("$tempname","$DOCUMENT_ROOT/pics/$name");

Hmm was mache ich da noch falsch?
 
Abgesehen davon, dass Variablen nicht in Anführungszeichen stehen, heißt die
Fehlermeldung, dass eben das Verzeichnis oder die Datei nicht gefunden wurde.

Ich tippe darauf, dass es /www/htdocs/v148718//pics/ nicht gibt. Schau mal in deinen
Unterlagen zum Webspace-Account nach, was dein "Server-Ausgangspunkt" ist.
 
Zurück