Stort upload-script virker ikke!
Hej,jeg har lavet en kraftig modificering af AHV's "news", problemet er bare at mine billeder ikke vil vises. De bliver fint uploadet til et bibliotek på serveren, men kan ikke vises på index-siden...
Jeg lister her samtlige filer i håbet om at en eller anden har lyst til at kigge koden igennem, meget gerne teste på egen server.
Database
========
CREATE TABLE `news` (
`id` int(11) NOT NULL auto_increment,
`title` varchar(100) NOT NULL default '',
`text` text NOT NULL,
`name` varchar(100) NOT NULL default '',
`file` varchar(100) NOT NULL default '',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
CREATE TABLE `comment` (
`id` int(11) NOT NULL auto_increment,
`newsid` int(11) NOT NULL default '0',
`text` text NOT NULL,
`name` varchar(100) NOT NULL default '',
`mail` varchar(150) NOT NULL default '',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
CREATE TABLE `admin` (
`id` int(11) NOT NULL auto_increment,
`user` varchar(30) NOT NULL default '',
`pass` varchar(50) NOT NULL default '',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
1/5 - admin.php
===============
<?php
session_start();
if (isset($_SESSION['aid'])) {
include("config.php");
if($_POST['upload']){
if ($_POST['pic'] == 1) {
$files = $_FILES['upfil']['name'];
$dist = "/home/02/testupload/pics/";
//$dist = $_SERVER["DOCUMENT_ROOT"] . "/pics/"; //gammel løsning
move_uploaded_file($_FILES['upfil']['tmp_name'], $dist . $files);
}
elseif ($_POST['pic'] == 2) {
$files = "nopic.gif";
}
mysql_query("INSERT INTO news (title, text, name, file) values ('$_POST[title]', '$_POST[text]', '$_POST[name]', '$files')");
header("Location: index.php");
}
?>
<html>
<head>
<title>Admin system</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<p><b>Admin system</b></p>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">
<p><input type="text" name="name" size="30" value="Photographer">
<p><input type="text" name="title" size="30" value="Title"></p>
<p>Picture:</p>
<p><input type="radio" value="1" checked name="pic"> <input type="file" name="upfil" size="20"> </p>
<p><input type="radio" value="2" checked name="pic"> Article w/o picture</p>
<p><textarea rows="10" name="text" cols="40">Description</textarea></p> <!--gamle: rows:6;cols:26-->
<p><input type="submit" value="Submit" name="upload"></p>
</form>
<p align='left'><a href='index.php'><-- Go back </a></p>
</body>
</html>
<?
}
?>
2/5 - admin_login.php
=====================
<?php
session_start();
if (isset($_POST['login'])) {
include("config.php");
$queryadmin = mysql_query("SELECT COUNT(id) FROM admin WHERE user='$_POST[nick]' AND pass='$_POST[pass]'");
$admin = mysql_fetch_array($queryadmin);
if ($admin['0'] > 0) {
$_SESSION['aid'] = 1;
header("Location: admin.php");
exit;
}
}
?>
<link rel="stylesheet" type="text/css" href="style.css">
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
Nickname: <input type="text" name="nick"><br/>
Password: <input type="password" name="pass"><br/>
<input type="submit" name="login" value="Log In">
</form>
3/5 - config.php
================´
<?php
$con = mysql_connect("host", "user", "passw");
mysql_select_db("database");
?>
4/5 - index.php
===============
<html>
<head>
<title>index</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<?php
include("config.php");
echo "<p align='center'><a href='admin_login.php'>Admin</a></p>";
$query = mysql_query("SELECT id, file, title, CONCAT(LEFT(text, 200), '...') AS short FROM news ORDER BY id DESC");
while ($row = mysql_fetch_array($query)) {
echo "<p><b>$row[title]</b><br>";
echo "<img border='0' src='$row[file]' style='float: left;' width='75' height='75'>";
echo "<font size='1' face='Tahoma'>";
echo "$row[short]";
echo "</font></p>";
echo "<p><font size='1' face='Tahoma'><a href='show.php?id=$row[id]'>Read more...</a></font></p>";
echo "<br><br>";
}
?>
</body>
</html>
5/5 - show.php
==============
<?php
include("config.php");
if($_POST['send'] && $_POST['name'] != "navn" && isset($_POST['name'])){
$_POST['text'] = ereg_replace("<([^>]+)>", "", $_POST['text']);
mysql_query("INSERT INTO comment (newsid, text, name, mail) values ('$_POST[newsid]', '$_POST[text]', '$_POST[name]', '$_POST[mail]')");
header("Location: show.php?id=$_GET[id]");
}
?>
<html>
<head>
<title>The Pictures</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<script language=\"JavaScript\">
function print()
{
if (navigator.appName != \"Netscape\" || navigator.appVersion.substring(0,1) > 4) window.print();
}
</script>
<p align='right'><i><b>Your Options >></i></b> <a href="java script:print();"><img src="printable.gif" border="0"><small> Print</small></a></img> <a href="mailto:?subject='link'!"><img src="email.bmp" border="0"><small> Notify Friend</small></a></p>
<?php
$query = mysql_query("SELECT id, title, text, name FROM news WHERE id='$_GET[id]'");
$row = mysql_fetch_array($query);
echo "<p align='center'><b>$row[title]</b></p>";
echo "<p align='left'><font size='1' face='Tahoma'>";
echo nl2br($row['text']);
echo "</font><p align='left'><font size='1' face='Tahoma'>Uploaded By: [$row[name]]</font></p>";
echo "<p align='left'><a href='index.php'><-- Go back </a></p>";
?>
<p align="center"><b>User Comments</b></p>
<hr size="1" color="#000000">
<div align="center">
<center>
<table border="0" width="350">
<?php
$query = mysql_query("SELECT name, text, mail FROM comment WHERE newsid='$_GET[id]' ORDER BY id DESC");
while ($rows = mysql_fetch_array($query)) {
echo "<tr>";
echo "<td width='100%'>";
echo "<hr size='1' color='#000000' noshade>";
echo "<p><b>".nl2br($rows['text'])."</b><b><br>";
echo "</b>by <a href='mailto:$row[mail]'>$rows[name]</a></td>";
echo "</tr>";
}
?>
</table>
</center>
</div>
<hr size="1" color="#000000" noshade width="350">
<form action="<?php echo $_SERVER['PHP_SELF']."?id=$_GET[id]"; ?>" method="post">
<p align="center">Name <input type="text" name="name" size="20" value=""><br>
E-mail <input type="text" name="mail" size="20" value=""></p>
<p align="center"><textarea rows="2" name="text" cols="20"></textarea></p>
<p align="center"><input type="submit" value="Submit Comment" name="send"></p>
<input type="hidden" name="newsid" value="<?php echo $row['id']; ?>">
</form>
<p align="left"> </p>
</body>
</html>
Til slut skal man lige oprette og CHMOD'e (777) et bibliotek "pics", hvor billederne gemmes.
