10/10/2018, 09:27

Vấn đề về đưa dữ liệu vào CSDL

mình tạo 3 trang:
1.Trang test_index.php dùng để nhập dữ liệu vào form. Code:
<!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=iso-8859-1" />
<title>Untitled Document</title>
</head>


<body>
<form id="form1" name="form1" method="post" action="test.php">
<label>
<textarea name="blog"></textarea>
</label>
<p>
<label>
<input type="submit" name="Submit" value="Submit" />
</label>
</p>
</form>
</body>
</html>

2.Trang test.php dùng để xử lý thông tin nhận dc từ test_index đưa vào CSDL. CSDL tên là web, có 1 bảng là blog, trong bảng blog có 1 trường tên noidung . Mình muốn những gì nhập dc từ vùng text area tên blog ghi vào CSDL bảng blog trường noidung . Code:
<!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=iso-8859-1" />
<title>Untitled Document</title>
</head>
<?
mysql_connect("localhost",nnt);
mysql_select_db("web",$con);
mysql_query("insert into blog(noidung) values('$_REQUEST["blog"]')",$con);
mysql_close($con);
?>
<a href="test_db.php">click here</a>
<body>
</body>
</html>
3.Trang test_db.php dùng để xuất ra những gì có trong trường noidung thuộc bảng blog . Code:
<!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=iso-8859-1" />
<title>Untitled Document</title>
</head>
<?
mysql_connect("localhost",nnt);
mysql_select_db("web",$con);
$blog=mysql_query("select * from blog.noidung");
echo $blog;
?>
<body>
</body>
</html>
Bây giờ lúc mình chạy trang test_index và nhập vào 1 chuỗi ký tự nhỏ rồi submit thì chuyển đến trang test và báo lỗi:
Parse error: syntax error, unexpected '"', expecting T_STRING or T_VARIABLE or T_NUM_STRING in D:xampphtdocsweb est.php on line 10


Mình dùng XAMPP bản 1.6.7
Lúc chạy các trang trên đã bật Apache Server và MySQL
Ai giúp mình sửa lỗi với
Trường noidung trong bảng blog mình để kiểu dữ liệu CHAR , giới hạn là 255
kiem_bo viết 11:37 ngày 10/10/2018
$blog=mysql_query("select * from blog.noidung");
blog.noidung cái này bạn ghi blog thôi chứ
mysql_query("insert into blog(noidung) values('$_REQUEST["blog"]')",$con);
bạn ghi là
mysql_query("insert into blog(noidung) values('$_REQUEST[blog]')",$con);
dokhacluan viết 11:34 ngày 10/10/2018
Mình đã sữa lại 3 đoạn code cho cậu và chạy trên máy mình thì được (van còn loi nhỏ nhưng hong dang kể ) cậu có thể tham khảo :
1.Trang test_index.php dùng để nhập dữ liệu vào form. Code:

<!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=iso-8859-1" />
<title>Untitled Document</title>
</head>


<body>
<form id="form1" name="form1" method="post" action="test.php">
<label>
<textarea name="blog"></textarea>
</label>
<p>
<label>
<input type="submit" name="Submit" value="Submit" />
</label>
</p>
</form>

</body>
</html>

2.Trang test.php dùng để xử lý thông tin nhận dc từ test_index đưa vào CSDL

<!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=iso-8859-1" />
<title>Untitled Document</title>
</head>
<?php
if(!$_REQUEST[blog])
{
header("location:test_index.php");
exit();
}
$link=mysql_connect("localhost","root","") or die(mysql_error());
mysql_select_db("web",$link) or die(mysql_error());
$sql=mysql_query("INSERT INTO blog(noidung) values('$_POST[blog]')",$link);
echo "<a href='test_db.php'>click here</a>"."<hr>" ;
mysql_query($sql) or die(mysql_error());
mysql_close($link);
?>
<body>
<a href="test_db.php">click here</a>
</body>
</html>

3.Trang test_db.php dùng để xuất ra những gì có trong trường noidung thuộc bảng blog .


<?
$db=@mysql_connect("localhost","root","");
if(!$db)
{
echo "khong the ket noi co so du lieu";
exit;
}
mysql_select_db("web");
$result=mysql_query("select noidung from blog ");
if(mysql_num_rows($result) <>0)
{
echo "<table border='0' width='100%' id='table1'>";
while($row = mysql_fetch_row($result))
{
$suc = $row[0];
echo "<tr>";
echo "<td>$suc</td>";
echo "</tr>";
}
echo "</table>";
}
?>

Mình thấy rằng trong đoạn code trên , bạn sai ở chổ hông bít dùng dấu nháy kép nên mới sai , đồng thời là hình như bạn hỉu sai phát biểu select và cậu cũng nên tham khảo lại cách kết nối csdl.Cậu test thử xem , còn sai lỗi nào hông . Còn thì post lên tìm người giúp đỡ đi.Nếu mình có thể , mình sẽ giúp.
nhat_taj12 viết 11:35 ngày 10/10/2018
cảm ơn cả 2.
Bây giờ giúp mình cách tạo trang: ví dụ: 1 trang chứa dc 2 blog. User A có 4 blog, vậy là phải tạo 2 trang để hiển thị 4 blog đó. xin chỉ giáo
dokhacluan viết 11:29 ngày 10/10/2018
hông hỉu câu hỏi . Bạn nói cu thể hơn đi
Bài liên quan
0