我正在构建一个小型ajax聊天网站,并添加一个图像上传与内置在PHP, MySQL和jquery与ajax的msg功能。我的代码目前会让你上传一条消息,我可以得到的图像准备上传和存储数据库的URL。
但是我需要将变量传递给另一个if语句来检查用户何时提交消息。我似乎无法把它输入我的数据库。
尝试全局变量,其他东西-认为必须错过的东西。这可能是一些显而易见的东西,原谅代码我是一个学习代码的平面设计师!
$imageurl = "";
if (isset($_FILES["file"])) {
//properties of uploaded file
$name = $_FILES["file"] ["name"];
$type = $_FILES["file"] ["type"];
$size = $_FILES["file"] ["size"];
$temp = $_FILES["file"] ["tmp_name"];
$error = $_FILES["file"] ["error"];
if ($error > 0) {
die("Error uploaded file!");
}
else
{
if ($type == "video/avi" || $size > 2000000) {
?>
<br>
<p><?die("format is not allowed or size too big!");?></p>
<?
}
else
{
move_uploaded_file($temp, "msg_image/" . $name);
}
}
//store url for insertation
$imageurl = "msg_image/" . $name;
echo '<p>You added a ' . $name . ' to your message</p>';
return $imageurl;
}
/////need the var in here to store and update mysql database
if (isset($_POST['message'])) {
$tostore = $imageurl;
$username = protect($_POST['username']);
$message = protect($_POST['message']);
$time = time();
$sql = "INSERT INTO messages
(username, msgcontent, imageurl, msgtime)
VALUES ('$username', '$message', '$tostore', $time)";
$result = mysql_query($sql);
}
您的"return $imageurl"语句过早地停止了您的脚本。
http://php.net/manual/en/function.return.php。
echo "hello";
return "world";
echo "!";
只返回
hello