Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Problem att visa text efter bild

Postades av 2007-09-22 22:11:20 - Lars Lantz, i forum php, Tråden har 7 Kommentarer och lästs av 1356 personer

Hej!

Jag sitter och kör ett exempel i boken PHP 5 programmering.
Det handlar om att ladda upp bilder till MySQL.

Jag har ändrat lite så att även text till bilden sparas i databasen.

Mitt problem är när jag ska visa både bilden och texten.
Endast bilden syns. Jag gissar att det har med headern i download.php att göra.

Hur ska jag göra så att båda syns. Jag har inte riktig kläm på det här med header().

upload.php

<html>
<head>
<title>Uppladdning av fil mot MySQL</title>
</head>
<body>
<?php
 
if (isset($_FILES['fildata'])) {
   if (is_uploaded_file($_FILES['fildata']['tmp_name'])) {
      if (empty($_POST['besk']))
         $besk = "Ingen beskrivning";
      else
         $besk = $_POST['besk'];
      $dbh = mysql_connect("localhost", "root", "")
         or die("Kunde inte ansluta mot databasen!");
      mysql_select_db("testdb");
      $filnamn = $_FILES['fildata']['name'];
      $filtyp = $_FILES['fildata']['type'];
      $filstorlek = $_FILES['fildata']['size'];
 
      $fildata = addslashes(fread(fopen($_FILES['fildata']['tmp_name'], "rb"), filesize($_FILES['fildata']['tmp_name'])));
      $text = $_POST['text'];
      $sql = "INSERT INTO upload (filnamn, filtyp, filstorlek, fildata, besk, text)";
      $sql .= " VALUES ('$filnamn','$filtyp','$filstorlek','$fildata','$besk','$text')";
      mysql_query($sql);
         
      $fil_id = mysql_insert_id();
         
      echo "<h3>Filen fick ID $fil_id</h3><br>";
      mysql_close();      
   }
}
echo "<h2>Filer i databasen</h2>\n";
$dbh = @mysql_connect("localhost","root","")
   or die("Kunde inte ansluta mot databasen!");
mysql_select_db("testdb");
$sql = "SELECT fid, filnamn, filtyp, filstorlek, besk FROM upload";
$result = mysql_query($sql);
echo "<table border=0>\n";
echo "<tr bgcolor=\"#AAAAAA\"><td>Filnamn</td><td>Filtyp</td><td>Filstorlek</td><td>Beskrivning</td></tr>\n";
while ($rad=mysql_fetch_array($result)) {
   echo "<tr bgcolor=\"#EEEEEE\">\n";
   echo "<td>$rad[1]</td>";
   echo "<td>$rad[2]</td><td>$rad[3]</td><td>$rad[4]</td>\n";
   echo "</tr>\n";
}
echo "</table>\n";
mysql_close();
 
?>
<h2>Uppladdning av fil mot MySQL databas</h2>
<form action="<?=$PHP_SELF?>" method="post" enctype="multipart/form-data">
Fil att ladda upp:<br>
<input type="file" name="fildata" size="40"><br>
Beskrivning av filen:<br>
<input type="text" name="besk" size="40"><br>
<textarea name="text" rows="20" cols="50"></textarea>
 
 
<input name="reset" type="reset" value="Återställ">
<input type="submit" value="Skicka fil">
</form>
</body>
</html>


download.php
<?php
if (isset($_GET['fid'])) {
   $dbh=mysql_connect("localhost","root","")
      or die("Kunde inte ansluta mot databasen");
   mysql_select_db("testdb");
   $fid=$_GET['fid'];
   $result = mysql_query("SELECT fildata, filtyp, text FROM upload WHERE fid=$fid");
   
   $fildata = mysql_result($result, 0, "fildata");
   $filtyp = mysql_result($result, 0, "filtyp");
   $text = mysql_result($result, 0, "text");
   
   Header("Content-Type: $filtyp");
 
   echo $fildata;
   echo $text;
   
}
?>


Svara

Sv: Problem att visa text efter bild

Postades av 2007-09-23 14:46:04 - Torbjörn Stabo

Som download.php är gjord så *kan* den bara visa bilden. Texten kommer med, men den blir till skräpdata i slutet av bildinformationen. Download.php skickar inte ut html-kod, p.g.a. din header som du säger. (Men utan headern så skulle inte surfprogrammet förstå att det är bilddata som kommer heller, utan bara visa skräptecken på skärmen. Pröva att kommentera bort headerrraden och surfa till download.php om du vill)

Ett kodexempel på hur det skulle kunna vara:

<img src="download.php" alt="" />Bildtexten kan komma här


Svara

Sv:Problem att visa text efter bild

Postades av 2007-09-24 16:59:16 - Lars Lantz

Hej Torbjörn!

Jag är inte helt säker på vad du menar att jag ska göra.
Jag har gjort en ny sida med

<img src="download.php" alt="" />

men den visar ingen bild. Det är förmodligen jag som inte fattar.

/Lars


Svara

Sv: Problem att visa text efter bild

Postades av 2007-09-24 20:12:35 - Torbjörn Stabo

Länk till filerna?


Svara

Sv:Problem att visa text efter bild

Postades av 2007-09-24 21:19:43 - Lars Lantz

Bildfilerna ligger väl i databasen i binär form.
Det är kanske ett klumpigt och invecklat sätt att hantera bilder.

Man skulle kanske spara dem i mappar i stället och endast ha beskrivning osv. i databasen.


Svara

Sv: Problem att visa text efter bild

Postades av 2007-09-24 22:29:50 - Per Persson

Glöm inte skicka med fid!

<img src="download.php?fid=12" alt="" />


Svara

Sv:Problem att visa text efter bild

Postades av 2007-09-25 17:47:32 - Lars Lantz

Tack alla som har hjälpt mig...

Så här gjorde jag:

upload.php

<html>
<head>
<title>Uppladdning av fil mot MySQL</title>
</head>
<body>
<?php

if (isset($_FILES['fildata'])) {
	if (is_uploaded_file($_FILES['fildata']['tmp_name'])) {
		if (empty($_POST['besk']))
			$besk = "Ingen beskrivning";
		else
			$besk = $_POST['besk'];
		$dbh = mysql_connect("localhost", "root", "")
			or die("Kunde inte ansluta mot databasen!");
		mysql_select_db("testdb");
		$filnamn = $_FILES['fildata']['name'];
		$filtyp = $_FILES['fildata']['type'];
		$filstorlek = $_FILES['fildata']['size'];

		$fildata = addslashes(fread(fopen($_FILES['fildata']['tmp_name'], "rb"), filesize($_FILES['fildata']['tmp_name'])));
		$text = $_POST['text'];
		$sql = "INSERT INTO upload (filnamn, filtyp, filstorlek, fildata, besk, text)";
		$sql .= " VALUES ('$filnamn','$filtyp','$filstorlek','$fildata','$besk','$text')";
		mysql_query($sql);
			
		$fil_id = mysql_insert_id();
			
		echo "<h3>Filen fick ID $fil_id</h3><br>";
		mysql_close();		
	}
}
echo "<h2>Filer i databasen</h2>\n";
$dbh = @mysql_connect("localhost","root","")
	or die("Kunde inte ansluta mot databasen!");
mysql_select_db("testdb");
$sql = "SELECT fid, filnamn, filtyp, filstorlek, besk FROM upload";
$result = mysql_query($sql);
echo "<table border=0>\n";
echo "<tr bgcolor=\"#AAAAAA\"><td>Filnamn</td><td>Filtyp</td><td>Filstorlek</td><td>Beskrivning</td></tr>\n";
while ($rad=mysql_fetch_array($result)) {
	echo "<tr bgcolor=\"#EEEEEE\">\n";
	echo "<td>$rad[1]</td>";
	echo "<td>$rad[2]</td><td>$rad[3]</td><td>$rad[4]</td>\n";
	echo "</tr>\n";
}
echo "</table>\n";
mysql_close();

?>
<h2>Uppladdning av fil mot MySQL databas</h2>
<form action="<?=$PHP_SELF?>" method="post" enctype="multipart/form-data">
Fil att ladda upp:<br>
<input type="file" name="fildata" size="40"><br>
Beskrivning av filen:<br>
<input type="text" name="besk" size="40"><br>
<textarea name="text" rows="20" cols="50"></textarea>


<input name="reset" type="reset" value="Återställ">
<input type="submit" value="Skicka fil">
</form>
</body>
</html>


download.php
<?php
if (isset($_GET['fid'])) {
$dbh=mysql_connect("localhost","root","")
		or die("Kunde inte ansluta mot databasen");
	mysql_select_db("testdb");
	$fid=$_GET['fid'];
	$result = mysql_query("SELECT fildata, filtyp FROM upload WHERE fid=$fid");
	
	$fildata = mysql_result($result, 0, "fildata");
	$filtyp = mysql_result($result, 0, "filtyp");
	
	Header("Content-Type: $filtyp");

	echo $fildata;
	
}
?>


test.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>


<?php
	$dbh=mysql_connect("localhost","root","")
		or die("Kunde inte ansluta mot databasen");
	mysql_select_db("testdb");
	$fid=$_GET['fid'];
	$result = mysql_query("SELECT text FROM upload WHERE fid=$fid");
	$text = mysql_result($result, 0, "text");
	
	echo "<img src=\"download.php?fid=$fid\" alt=\"\" />";
	echo "<br />$text";
?>
</body>
</html>




Svara

Sv: Problem att visa text efter bild

Postades av 2007-09-25 20:49:07 - Torbjörn Stabo

Flagga tråden som löst/klar?


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 763
27 959
271 761
686
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies