Ik heb het onderstaand script. Hiermee wil ik de bestandsnaam in de laatste collom (foto) van mijn database plaatsen. Alleen gaat er iets fout. Ik denk zelf dat ik iets fout doe in de query
<?php
//logged_on.php is de file die controleert of je wel bent ingelogd
include("..//includes/connect.php");
//functie voor de ecscape bij $msg_tekst
function escape( $strVar, $resDbConnection = null )
{
if ( get_magic_quotes_gpc() == 0 )
{
// don't escape integers
if ( !ctype_digit( $strVar ) )
$strVar = mysql_real_escape_string( $strVar, $resDbConnection );
}
return $strVar;
}
//onderstaande voegt een nieuw bericht toe aan de database als er gegevens zijn meegezonden
if(!empty($_POST)){
$query = "INSERT INTO messages VALUES('',CURDATE(),CURTIME(),'". $_POST["msg_title" ]. "','". $_POST["msg_type"]. "','". escape($msg_text). "','". $user_id. "','".$_FILES['userfile']['name']. "');";
$result = mysql_query($query) or die(mysql_error());
header("location: messages.php");
}
?>
<form
name="insert_post" action="<?php echo($_SERVER["cms/new_massage.php2"]) ?>" method="post" onsubmit="save_in_textarea_all();">
<?php
$ThisFileName = basename(__FILE__); // get the file name
$path = str_replace("/cms/scripts/".$ThisFileName,"",__FILE__); // get the directory path
$upload_dir = $path. "/Image/"; // be shure php has access to this dir (chmod)
$new_file = $upload_dir."/".$_FILES['userfile']['name'];
if ($_POST['upload'] == "Upload") {
if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
move_uploaded_file($_FILES['userfile']['tmp_name'], $new_file) or
print "could not store $new_file ";
chmod ($upload_dir. $_FILES['userfile']['name'], 0777);
$query = "INSERT INTO messages VALUES = 'foto'
WHERE foto = '". $user_id. "' ;";
$result = mysql_query($query) or die(mysql_error());
header("location: ../index.php");
}
else
{
switch ($_FILES['tmp_name']['error']) {
case 0:
print "<a href='#' onClick='history.back()'>Terug</a><br>!is_uploaded_file.., no file upload?<br><a href='../index.php'> Gewoon verder gaan!</a> ";
break;
case 1:
print "<br><strong> U heeft geen foto aan dit messages toegevoegt </strong><br><a href='#' onClick='history.back()'>Terug </a>(informatie niet versturen maar opnieuw bewerken / foto toevoegen) <br><a href='../index.php'> Door gaan </a> (messages plaatsen op website zonder foto)";
break;
default:
print "<br>Onbekende foutmelding<br><a href='#' onClick='history.back()'>Terug</a>(informatie niet versturen maar opnieuw bewerken)<a href='../index.php'> Gewoon verder gaan!</a> (messages plaatsen op website zonder 100% foutcontrole. Controleer of het messages is geplaast)";
}
}
}
?>
<form enctype="multipart/form-data" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="1000000">
Upload this file: <input name="userfile" type="file">
<input type="submit" value="verzend"></td>
</form>
<?
echo print_r($_FILES);
?>
</body>
</html>
<?php
//logged_on.php is de file die controleert of je wel bent ingelogd
$query="INSERT INTO messages VALUES('',CURDATE(),CURTIME(),'".$_POST["msg_title"]."','".$_POST["msg_type"]."','". escape($msg_text)."','".$user_id."','".$_FILES['userfile']['name']."');";
print"<a href='#' onClick='history.back()'>Terug</a><br>!is_uploaded_file.., no file upload?<br><a href='../index.php'> Gewoon verder gaan!</a> ";
break;
case1:
print"<br><strong> U heeft geen foto aan dit messages toegevoegt </strong><br><a href='#' onClick='history.back()'>Terug </a>(informatie niet versturen maar opnieuw bewerken / foto toevoegen) <br><a href='../index.php'> Door gaan </a> (messages plaatsen op website zonder foto)";
break;
default:
print"<br>Onbekende foutmelding<br><a href='#' onClick='history.back()'>Terug</a>(informatie niet versturen maar opnieuw bewerken)<a href='../index.php'> Gewoon verder gaan!</a> (messages plaatsen op website zonder 100% foutcontrole. Controleer of het messages is geplaast)";
$query="INSERT INTO messages VALUES('',CURDATE(),CURTIME(),'".$_POST["msg_title"]."','".$_POST["msg_type"]."','". escape($msg_text)."','".$user_id."','".$_FILES['userfile']['name']."');";
Dit kan niet,
je moet wel kiezen waar in welke kolomveld ze moeten komen