Hi Leute,
ich habe ein script geschrieben, wo ich Bilder hochladen kann. Es funktioniert teilweise. Die Bilder werden auf dem Server gespeichert und auch in der DB.
Mein problem ist 1. ich möchte nicht das nachdem hochladen(nachdem klicken des buttons) des bildes, die Seite weiter geleitet wird.Beim weiterleiten kommt entweder:"Erfolgreich hochgeladen" oder "Upload nicht Erfolgreich". Dies soll er auf der selben Seite passieren.
Und das Anzeigen des Bildes Funktioniert auch nicht dort wird nur der alt tag angezeigt.
ich habe ein script geschrieben, wo ich Bilder hochladen kann. Es funktioniert teilweise. Die Bilder werden auf dem Server gespeichert und auch in der DB.
Mein problem ist 1. ich möchte nicht das nachdem hochladen(nachdem klicken des buttons) des bildes, die Seite weiter geleitet wird.Beim weiterleiten kommt entweder:"Erfolgreich hochgeladen" oder "Upload nicht Erfolgreich". Dies soll er auf der selben Seite passieren.
Und das Anzeigen des Bildes Funktioniert auch nicht dort wird nur der alt tag angezeigt.
PHP:
<?php
include 'dbc.php';
$err = array();
$msg = array();
session_start();
if (!isset($_SESSION['user_name']))
{
header('Location: login.php');
}
if(isset($_POST['submit']))
{
$subject = $_POST['subject'];
$description = $_POST['description'];
if(empty($_POST['subject']))
{
$err[] ='Please enter a Subject';
}
else if(empty($_POST['description']))
{
$err[] ='Please enter a Description';
}
if (empty($err))
{
$sql_insert = "INSERT into `item`
(`subject`,`description`
)
VALUES
('$subject','$description')
";
mysql_query($sql_insert,$link) or die("Insertion Failed:" . mysql_error());
$_POST=array();
$msg[] ='Successfull saved';
}
}
if(isset($_POST['SubmitImage']))
{
// Validate uploaded image file
if ( !preg_match( '/gif|png|x-png|jpeg/', $_FILES['userFile']['type']) ) {
die($err[] ='Only browser compatible images allowed');
} else if ( strlen($_POST['altText']) < 5 ) {
die($err[] ='Please provide meaningful alternate text');
} else if ( $_FILES['userFile']['size'] > 40000 ) {
die($err[] ='Sorry file too large');
// Connect to database
} else if (!$link) {
die($err[] ='Error connecting to database');
} else if (!$db) {
die($err[] ='Error selecting database');
// Copy image file into a variable
} else if ( !($handle = fopen ($_FILES['userFile']['tmp_name'], "r")) ) {
die($err[] ='Error opening temp file');
} else if ( !($image = fread ($handle, filesize($_FILES['userFile']['tmp_name']))) ) {
die($err[] ='Error reading temp file');
} else {
fclose ($handle);
// Commit image to the database
$image = mysql_real_escape_string($image);
$alt = htmlentities($_POST['altText']);
move_uploaded_file($_FILES["userFile"]["tmp_name"], "upload/" . $_FILES["userFile"]["name"]);
$query = 'INSERT INTO image (type,name,alt,img) VALUES ("' . $_FILES['userFile']['type'] . '","' . $_FILES['userFile']['name'] . '","' . $alt . '","' . $image . '")';
if ( !(mysql_query($query)) ) {
die($err[] ='Error writing image to database');
} else {
die($msg[] ='Image successfully copied to database');
}
}
}
?>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="assets/css/bootstrap-responsive.css" rel="stylesheet">
<link href="css/bootstrap.min.css" rel="stylesheet" media="screen">
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script src="js/bootstrap.min.js"></script>
<title>Greenwich Freecycle</title>
</head>
<body>
<div class="container">
<h3 class="titlehdr">Welcome <?php echo $_SESSION['user_name'];?></h3>
<ul class="nav nav-pills">
<li><a href="myaccount.php">My Account</a></li>
<li><li class="active"><a href="postItem.php">Post an Item</a></li>
<li><a href="editItem.php">Edit Item</a></li>
<li> </li>
<li> </li>
<li> </li>
<li> <form class="navbar-search pull-left">
<input type="text" class="search-query" placeholder="Search">
</form></li>
<li><a href="logout.php">Logout </a></li>
</ul>
<hr>
<fieldset>
<legend>Post your Item</legend>
<form action="postItem.php" class="form-horizontal" method="post" >
<div class="alert alert-success">
<?php if(!empty($msg)) {
echo "<div class=\"msg\">" . $msg[0] . "</div>";
}
?>
</div>
<div class="alert alert-error">
<?php
/******************** ERROR MESSAGES*************************************************
This code is to show error messages
**************************************************************************/
if(!empty($err)) {
echo "<div class=\"msg\">";
foreach ($err as $e) {
echo "$e <br>";
}
echo "</div>";
}
/******************************* END ********************************/
?>
</div>
<div class="control-group">
<label class="control-label" for="inputSubject">Subject</label>
<div class="controls">
<input name="subject" type="text" id="inputSubject" placeholder="Subject">
</div>
</div>
<div class="control-group">
<label class="control-label" for="inputDescription">Description</label>
<div class="controls">
<textarea name="description" rows="3"></textarea>
</div>
</div>
<div class="control-group">
<div class="controls">
<button name="submit" type="submit" class="btn">Save</button>
</div>
</div>
</form>
</fieldset>
<form action="postItem.php" class="form-horizontal" enctype="multipart/form-data" method="post">
<fieldset>
<legend>Image Upload</legend>
<label for="userFile">Small image to upload: </label>
<input type="file" size="40" name="userFile" id="userFile"/><br />
<br />
<label for="altText">Description of image</label>
<input type="text" size="60" name="altText" id="altText"/><br />
<br />
<input name="SubmitImage" type="submit" value="Upload File" />
</fieldset>
</form>
<?php
$sql="SELECT image_id,name,alt FROM image";
$result= mysql_query($sql);
for ( $i = 0 ; $i < mysql_num_rows($result) ; $i++ ) {
$row = mysql_fetch_assoc($result);
echo '<img src="getImage.php?id=' . $row['image_id'] . '" alt="' . $row['alt'] . '" title="' . $row['name'] .'" height="100" width="100"/> ' . "";
}
?>
</div>
</body>
</html>