私は、小さなajaxチャットサイトをビルドしており、PHP、MySQL、jQueryで構築されたmsg機能を持つ画像アップロードをajaxで追加しています。私のコードは現在、あなたがメッセージをアップロードできるようにする、私はアップロードの準備ができてデータベースのURLを格納することができます。PHPグローバルまたは関数で変数を渡す?
しかし、変数を別のifステートメントに渡して、ユーザーがメッセージを送信したときにチェックする必要があります。 私はそれを私のデータベースの向こう側に渡すことはできません。
試したグローバルなvar、他のもの - 何かが欠けていると思う。おそらく明らかなことですが、私はコードを学ぶグラフィックデザイナーです。
$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);
}
を返します。次回はこれを自分で確認してください。 – Bart
これは機能の中にありますか? 'return $ imageurl;'部分を残してみてください。私は2番目の 'if'チェックに決して到達していないと思っています。ところで、ユーザーがお互いのファイルを上書きできるようにしています.2人のユーザーが両方とも「img.jpg」を使用している場合、最後のものだけがあなたのやり方を維持します。また、ビデオファイルを不要なものとしてマークするだけです。あなたは実際には(今のように)他の方法の代わりに*許可する*タイプを指定する方が良いでしょう。 – Bart