何が援助を必要としますか? - 私はデータベースに画像をアップロードするとき、私は自分のSQLの正しいフィールドにユーザーのIDをリンクしたい。残念なことに、私がIDのフィールドに何も入力されていないので、画像をアップロードしているときに正しくキャプチャしていないようです。MYSQLとPHPを使用してセッションIDをデータベースにリンクする
それを分解する:ユーザーがログインすると、彼は一意のIDを持っています。つまり、管理者のIDは1です。彼が彼のユーザーパネルにいるとき、彼は2番目のイメージをアップロードします:彼はこのフォームに向けられます。
一度フォームに入力すると、説明、画像、およびIDが_SESSIONから取得されます。
これ以上の情報が必要な場合は、さらに詳しくお書きください。事前に
おかげで、
そう... HERESにコード:
// FORM //
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<form enctype="multipart/form-data" id="form1" name="form1" method="post" action="secondPic.php">
<p>
<label for="name1">Fav Location Name: </label>
<input type="text" name="name1" id="name1" />
</p>
<p>
<label for="photo1">Fav Location Photo: </label>
<input type="file" name="photo1"><br>
</p>
<p>
<label for="id">ID: <? echo $rows['id']; ?> </label>
<input name="id" type="hidden" id="id" value="<? echo $rows['id']; ?>">
</p>
<p>
<input type="submit" name="submit" id="submit" value="Submit" />
</p>
</form>
</body>
</html>
//データベースに入力する//
<?php
include "common.php";
$secondid = $_GET['id'];
DBConnect();
$Link = mysql_connect($Host, $User, $Password);
//This is the directory where images will be saved
$target = "second/";
$target = $target . basename($_FILES['photo1']['name']);
$favname = $_POST["name1"];
$pic2=($_FILES['photo1']['name']);
$id = $_POST["$id"];
$Query ="INSERT into $Table_2 values ('0', '$id', '$favname', '$pic2')";
if (mysql_db_query ($DBName, $Query, $Link)){
print ("A record was created <br><a href=index.php> return to index </a>\n");
// Connects to your Database
//mysql_connect("localhost", "jonathon_admin", "hello123") or die(mysql_error()) ;
//mysql_select_db("jonathon_admin1") or die(mysql_error()) ;
//Writes the photo to the server
if(move_uploaded_file($_FILES['photo1']['tmp_name'], $target))
{
//Tells you if its all ok
echo "The file ". basename($_FILES['uploadedfile']['name']). " has been uploaded, and your information has been added to the directory";
}
else {
//Gives and error if its not
echo "Sorry, there was a problem uploading your file.";
}
} else {
print (" - Your Record was not created");
}
mysql_close($Link);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>
DBにデータを入力するときの表は次のとおりです。
**s_id id favname pic2
1 0 testing the db piccy.png**
コードのテストを試しましたか?あなたは本当にコードがどこまで届いているのか、どこにどこにあるのかなどを考えてみるべきです。そして、全体を投稿するのではなく投稿してください。 – Dave
あなたはセッションを使用していますか?セッションにIDを格納し、あなたの投稿でそれを使用してください – Drewdin
私はあなたの問題を賭けているのは、 'INSERT'クエリの最初のフィールドに' '0 ''です。これがPKに対応する場合、後続の行は挿入されません。これを解決するには、PKなしでフィールドリストを指定するか、あるいは 'NULL'(* not *' 'NULL'')を指定する必要があります。 – DaveRandom