使用MYSQL&将会话ID链接到数据库PHP

时间:2012-01-27 17:02:16

标签: php mysql html database

我需要什么帮助? - 当我将图像上传到数据库时,我想将用户的ID链接到我的SQL的正确字段。不幸的是,当我上传图像时,没有任何内容被输入ID字段,因此似乎没有正确捕获它。

所以分解:当用户登录时,他有一个唯一的ID,即管理员的ID是1.当他在他的用户面板上时,他点击上传第二张图片:然后他被引导到这个表格。

一旦在表格中,他将输入描述,图像,并且他的ID应该从_SESSION中获取。

如果需要更多信息,我很乐意写更多信息。

提前致谢,

所以...继承人代码:

// 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>

以下是我在数据库中输入数据的表格:

  **s_id  id  favname         pic2  
   1     0  testing the db  piccy.png** 

2 个答案:

答案 0 :(得分:0)

您的隐藏字段没有输入名称。看起来您在隐藏的输入标记中使用了id =“id”而不是name =“id”。

修复它,它应该可以工作。

答案 1 :(得分:0)

我认为第一个文件有问题:

<label for="id">ID: <? echo $rows['id']; ?> </label>
<input name="id" type="hidden" id="id" value="<? echo $rows['id']; ?>">

$ rows变量根本没有在该文件中定义,因此,没有任何内容可以显示。 你已经提到,id是来自_session变量,也许你犯了一个错误,这将解决它:

  <label for="id">ID: <? echo $_SESSION['id']; ?> </label>
  <input name="id" type="hidden" id="id" value="<? echo $_SESSION['id']; ?>">

别忘了写:

session_start();

在文件的开头,在html代码之前。