10/10/2018, 10:38

Làm sao để insert tới data thông qua form mà không cần load trang

Hiện em có 2 trang php như sau:
Trang 1: sanpham.php trong đó có đoạn code như sau:
PHP Code:
<?
$getsanpham     = mysql_query("select * from offers  where `danhmuc`='$danhmuc' ", $c);
if(mysql_num_rows($getsanpham)==0)
{
print"<div>Khong co san pham nao</div>";
}
else
{
while($sp=mysql_fetch_array($getsanpham))
{
if($_SESSION***91;'loggedin'***93;==1)
{
$form="<form class="searchform2" action="hoanthanh.php" method="get"><input type="hidden" name="sanpham" value="{$sp***91;'id'***93;}"><input type="submit" class="button" value="Mua"></form>";
}
else
{
$form="<font color="red"><b>Vui Long Dang Nhap</b></font>";
}
$checkpend=mysql_query("select * from pending where sanpham_id={$sp***91;'id'***93;} and user_id='{$_SESSION***91;'userid'***93;}' ",$c);
$checkcompleted=mysql_query("select * from hoanthanh where sanpham_id={$sp***91;'id'***93;} and user_id='{$_SESSION***91;'userid'***93;}'",$c);

if(mysql_num_rows($checkpend)!=0)
{
$form="<font color="orange"><b>Dang Su Ly</b></font>";
}
else if(mysql_num_rows($checkcompleted)!=0)
{
$form="<font color="green"><b>Hoan Thanh</b></font>";
}
print"
<div>$form</div>
";

}
?>
Trang 1: hoanthanh.php có nội dung như sau:
PHP Code:
<?
session_start();
include"mysql.php";
$_GET***91;'sanpham'***93;=strip_tags($_GET***91;'sanpham'***93;);
$_GET***91;'sure'***93;=strip_tags($_GET***91;'sure'***93;);
if($_GET***91;'sure'***93;==1)
{
$time=time();
$ip = ($_SERVER***91;'HTTP_X_FORWARDED_FOR'***93;)
    ?  $_SERVER***91;'HTTP_X_FORWARDED_FOR'***93;
    :  $_SERVER***91;'REMOTE_ADDR'***93;;
mysql_query("insert into pending values(','{$_GET***91;'sanpham'***93;}','{$_SESSION***91;'userid'***93;}','$time','$ip','0')",$c);
}
else
{
print"
<form action="hoanthanh.php" method="get">
<input type="hidden" name="sanpham" value="{$_GET***91;'sanpham'***93;}">
<input type="hidden" name="sure" value="1">
<input type="submit" class="button" value="Dong Y">
</form>
";
}


?>
Trong Đó : $c=mysql_connect ('localhost',$dbuser,$dbpass)or die(mysql_error());

Như ở trên ta thấy khi nhấn vào nút "Mua" ở trang sanpham.php thì nó sẽ chuyển sang trang hoanthanh.php để xác nhận đồng ý mua hàng (tại đây nó mới insert tới data) và chờ admin sử lý đơn mua hàng.
Bây giờ em muốn:
  • Hoàn thành việc mua hàng ngay ở trang sanpham.php mà không phải chuyển qua trang muahang.php vì điều này rất bất tiện cho người mua nhiều sản phẩm.(chỉ cần nhấn Mua là nó insert thông tin tới data).
  • Khi nhấn nút Mua thì không làm load lại trang hoặc có load thì load lại trang hiện hành (lưu ý là trang sản phẩm lúc đó là dạng link động chứ không phải là sanpham.php nên em nói là trang hiện hành mọi ngừoi chú ý giùm cấu trúc link khi nhấn nút Mua nó tạo ra nhé.


Mong mọi người giúp giùm em với.
Cảm ơn!
trinhdiep viết 12:54 ngày 10/10/2018
có thể xử lý mua hàng ngay trên trang sanpham.
hoặc dùng iframe(or target-Attribute), or httpRequest,
gachet viết 12:47 ngày 10/10/2018
Được gửi bởi trinhdiep
có thể xử lý mua hàng ngay trên trang sanpham.
hoặc dùng iframe(or target-Attribute), or httpRequest,
Cảm ơn bạn đã trả lời câu hỏi của mình. Bạn có thể hướng dẫn mình chi tiết được không. Mình đang học code nên chưa biết nhiều.
Cảm ơn!
Trịnh Ngọc Lan viết 12:39 ngày 10/10/2018
Bạn có thể tìm hiểu thêm về Ajax.
trinhdiep viết 12:42 ngày 10/10/2018
cũng khá đơn giản. nếu xư lý ngay trên trang sanpham thì nó sẽ load lại trang khi submit.

trong javascript cho phép tạo httpRequest để gửi một yêu cầu tới một trang cùng domain. nó thuộc về khái niệm ajax

đơn giản hơn là dùng iframe. bạn có thể request trong một iframe không hiển thị ví dụ bạn thay dòng
Code:
$form="<form class=\"searchform2\" action=\"hoanthanh.php\" method=\"get\"><input type=\"hidden\" name=\"sanpham\" value=\"{$sp['id']}\"><input type=\"submit\" class=\"button\" value=\"Mua\"></form>";
thành
Code:
$form="<form class=\"searchform2\" target='hidden-frame' action=\"hoanthanh.php\" method=\"get\"><input type=\"hidden\" name=\"sanpham\" value=\"{$sp['id']}\"><input type=\"submit\" class=\"button\" value=\"Mua\"></form><iframe name='hidden-frame' id='hidden-frame' width=0px; height=0px; style='width:0px;height:0px;visibility:hidden;'";
gachet viết 12:43 ngày 10/10/2018
cảm ơn trinhdiep để mình thử coi. Mong mọi người tiếp tục giúp đỡ mình vẫn thích khi nhấn mua nó không load trang hơn. Đang tìm hiểu Ajax hy vọng có kết quả.
Cảm ơn!
Bài liên quan
0