10/10/2018, 10:58

xử lý nhiều form trong cùng 1 action.php

1.vấn đề là thế này . em định tạo 1 trang action.php để thực hiện tất cả các yêu cầu thêm dữ liệu vào csdl .
và action.php này là form action của nhiều trang khác nhau . tức nhiều trang với những yêu cầu thêm dữ liệu vào csdl khác nhau nhưng cùng có form action chung là action.php
như vậy ở file action.php em cần viết mã như thế nào để phân biệt các form ở nhiều trang khác nhau???

2. vấn đề thứ 2 là em muốn tạo 1 trang để xóa các thành viên đã đăng kí = cách xác định số thứ tự của chúng ( mỗi thành viên em gán trong csdl 1 stt tăng dần ) nhưng e ko bik viết code thế nào để xóa đúng thành viên với stt. vì form action chỉ lấy được dữ liệu nhập từ các $_POST, $_GET???
hellangle381 viết 13:07 ngày 10/10/2018
1. Dùng js bắt các sự kiện submit của các form rồi dùng AJAX gửi về, cái này thì chít khi ngừoi dùng tắt js trên trình duyệt. Cách khác thì mỗi form có một action khác nhau, theo nguyên tắc đang focus form nào thì sẽ submit form đó về server.
2. Bạn nói rõ hơn về cách bạn xác định số thứ tự, nếu có số thứ tự rồi thì gọi hàm xóa thôi chứ có gì đâu.
ngoc_viet08 viết 13:14 ngày 10/10/2018
thanks bạn đã trả lời , vấn đề 1 mình hiểu rồi . vấn đề 2 thì mình chưa nghiên cứu sâu .
giờ mình có câu hỏi cần các bạn giúp .
trong câu lẹnh UPDATE như sau :
1 câu bình thường :
"UPDATE `thanh_vien`
SET `nickname`='mod1' ,
`mat_khau1`='matkhau'
WHERE `stt`=1"
thì chạy bình thường
nhưng khi mình thay các biến $_POST vào các giá trị thì vẫn chạy bình thường:
"UPDATE `thanh_vien`
SET `nickname`=".$_POST['nickname']."
WHERE `stt`=1"
nhưng khi cập nhật 2 biến trở lên , phải dùng đến dấu , là ko thực hiện được:
"UPDATE `thanh_vien`
SET `nickname`=".$_POST['nickname']." ,
`mat_khau`="$_POST['mat_khau']."
WHERE `stt`=1"

mình nghĩ vấn đề chỉ nằm ở dấu , mình ko biết chèn nó vào code sao để chạy bình thường , bạn nào có thể giúp mình T_T
nguoimoiden1 viết 13:12 ngày 10/10/2018
Được gửi bởi ngoc_viet08
1.vấn đề là thế này . em định tạo 1 trang action.php để thực hiện tất cả các yêu cầu thêm dữ liệu vào csdl .
và action.php này là form action của nhiều trang khác nhau . tức nhiều trang với những yêu cầu thêm dữ liệu vào csdl khác nhau nhưng cùng có form action chung là action.php
như vậy ở file action.php em cần viết mã như thế nào để phân biệt các form ở nhiều trang khác nhau???
Trong file action.php kiểm tra các biến submit của các form được gửi tới file action.php(lệnh if) rồi xử lý.
ví dụ: trang b.php có action đến action.php thì form b.php:
<form..
....
<input type="Submit" name"xuly1"...>
////
trong file action.php
if($xuly1)
{
//xu ly cho form b.php
}
...



2. vấn đề thứ 2 là em muốn tạo 1 trang để xóa các thành viên đã đăng kí = cách xác định số thứ tự của chúng ( mỗi thành viên em gán trong csdl 1 stt tăng dần ) nhưng e ko bik viết code thế nào để xóa đúng thành viên với stt. vì form action chỉ lấy được dữ liệu nhập từ các $_POST, $_GET???
có nhiều cách để làm cái này.
đơn giản dùng thẻ <a thôi củng được.
<a href='action.php?chucnang=delete&id=<?=$idcuathanh viencanxoa; ?>'>delete</a>

action.php
//
if($delete){
$_GET['id'] rồi xóa thôi
}

////////////
không biết đúng không nữa.sai thì nhờ mọi người sủa.hehe
ngoc_viet08 viết 13:03 ngày 10/10/2018
thanks bạn . bạn nắm đúng vấn đề và trả lời đúng trọng tâm mình hỏi đó .
ở cái phần 1 . mình thì nghĩ ko đúng .
ý của bạn là khi tạo ra 1 thẻ input với name="xuly1" thì khi qua trang action sẽ tự tạo 1 biến $xuly1 ???
vấn đề đó mình cũng mới bik là kiểm tra if $_POST["$xuly1"]...
còn vấn đề 2 thì chắc là đúng rồi , cám ơn bạn . mình cũng chưa nghĩ đến cái này . hì .
conmeocattai viết 13:04 ngày 10/10/2018
problem 1: Từ các form bạn cho action vào 1 phần nào đó của Action.php ví dụ:
form 1 :
action = "action.php?opt=1"
form 1 :
action = "action.php?opt=2"
trên action.php bạn có thể kiểm tra $opt = $_REQUEST["opt"] để chia ra xử lí.

Đây là 1 cách, bạn có thể có nhiều cách khác nữa
nguoimoiden1 viết 13:10 ngày 10/10/2018
Được gửi bởi ngoc_viet08
ý của bạn là khi tạo ra 1 thẻ input với name="xuly1" thì khi qua trang action sẽ tự tạo 1 biến $xuly1 ???
uh.nhưng mà muốn lấy giá trị thì phải lấy từ $_POST["xuly1"]
hoặc
if($_POST["xuly1"])
{
}
cũng được.


không phải $_POST["$xuly1"] mà là $_POST["xuly1"]:khóng có $
nhockien1986 viết 12:58 ngày 10/10/2018
a nao bik giup em voi em moi bik lam web php,khi minh tao 1 trang chu nhung nguoi dung bam' vao link den' 1 trang khac thi` lam cach nao` de no load trang chu do' va` va long` form do' vao trang chu.vi du: la nguoi dung bam' vao trang dang nhap thi no load form dang nhap long` vao` trang chu ngay giua~ ay', giup em voi may anh chi.thanks nhiu`
chameron viết 13:00 ngày 10/10/2018
Được gửi bởi ngoc_viet08
thanks bạn đã trả lời , vấn đề 1 mình hiểu rồi . vấn đề 2 thì mình chưa nghiên cứu sâu .
giờ mình có câu hỏi cần các bạn giúp .
trong câu lẹnh UPDATE như sau :
1 câu bình thường :
"UPDATE `thanh_vien`
SET `nickname`='mod1' ,
`mat_khau1`='matkhau'
WHERE `stt`=1"
thì chạy bình thường
nhưng khi mình thay các biến $_POST vào các giá trị thì vẫn chạy bình thường:
"UPDATE `thanh_vien`
SET `nickname`=".$_POST['nickname']."
WHERE `stt`=1"
nhưng khi cập nhật 2 biến trở lên , phải dùng đến dấu , là ko thực hiện được:
"UPDATE `thanh_vien`
SET `nickname`=".$_POST['nickname']." ,
`mat_khau`="$_POST['mat_khau']."
WHERE `stt`=1"

mình nghĩ vấn đề chỉ nằm ở dấu , mình ko biết chèn nó vào code sao để chạy bình thường , bạn nào có thể giúp mình T_T

"UPDATE thanh_vien
SET nickname ='".$_POST['nickname']."' ,
mat_khau ='"$_POST['mat_khau']."'
WHERE stt=1"

thử xem có được không
thuyduongcd viết 13:03 ngày 10/10/2018
Được gửi bởi nhockien1986
a nao bik giup em voi em moi bik lam web php,khi minh tao 1 trang chu nhung nguoi dung bam' vao link den' 1 trang khac thi` lam cach nao` de no load trang chu do' va` va long` form do' vao trang chu.vi du: la nguoi dung bam' vao trang dang nhap thi no load form dang nhap long` vao` trang chu ngay giua~ ay', giup em voi may anh chi.thanks nhiu`
Viết Tiếng Việt có dấu vào, không thì chả ai thèm đọc.
Câu cú cho rõ ràng một chút. Đã viết Tiếng Việt không rành còn cố tình bóp méo tùm lum.
Bài liên quan
0