Tăng giá trị của bộ đếm khi nhấp vào nút trong PHP
Khi nói đến việc đồng bộ hóa bộ đếm của bạn trên trang, với giá trị bộ đếm trong cơ sở dữ liệu của bạn, đừng bao giờ tin tưởng khách hàng. Bạn gửi tín hiệu tăng hoặc giảm tới tập lệnh phía máy chủ của mình, thay vì giá trị liên tục, chẳng hạn như 10 hoặc 23 Show
Tăng giá trị của bộ đếm khi nhấp vào nút trong javascript Tăng giá trị của bộ đếm khi nhấp vào nút trong javascript. 2. Nếu tất cả các thử nghiệm này trả về true, chúng tôi sẽ tăng giá trị bằng cách sử dụng cấu trúc. txtElement. Đối với nút A hoặc B. Trình xử lý này hoạt động khi nút được ấn xuống và thả ra trong vòng 1 giây Có ba cách để làm điều đó trong JavaScript. Nút JavaScript nội tuyến 1 Nút 2 Đây là cách Hitler phát triển các trang web. Đừng làm điều này. Xử lý sự kiện. Điều này yêu cầu bạn phải đợi cho đến khi DOM được tải và sau đó "lấy" hai nút của bạn bằng cách nào đó Toán tử gán PHP. Các toán tử gán PHP được sử dụng với các giá trị số để ghi một giá trị cho một biến. Toán tử gán cơ bản trong PHP là "=". Điều đó có nghĩa là toán hạng bên trái được đặt thành giá trị của biểu thức gán bên phải bộ nhớ đệm. gia tăng () tăng giá trị của một mục theo giá trị đã chỉ định. Nếu mục được chỉ định bởi khóa không phải là số và không thể chuyển đổi thành số, nó sẽ thay đổi giá trị của nó thành giá trị. bộ nhớ đệm. gia tăng () không tạo một mục nếu nó chưa tồn tại Các hướng dẫn xây dựng web được tổ chức tốt và dễ hiểu với nhiều ví dụ về cách sử dụng HTML, CSS, JavaScript, SQL, PHP, Python, Bootstrap, Java và XML Toán tử logic && PHP. Hình ảnh trên giúp bạn hiểu được khái niệm LOGICAL VÀ hoạt động với sự tương tự giữa vòi và nước. Trường hợp 1 của hình, cả 2 vòi đều đóng nên nước không chảy xuống. Điều này giải thích rằng nếu cả hai điều kiện là FALSE hoặc 0, thì kết quả trả về là FALSE hoặc 0 PHP hỗ trợ các toán tử tăng và giảm trước và sau kiểu C. Toán tử tăng/giảm chỉ hoạt động trên các biến chứ không phải trên bất kỳ giá trị nào JavaScript là phía máy khách và PHP là ngôn ngữ tập lệnh phía máy chủ. Cách chuyển một biến JavaScript sang PHP là thông qua một yêu cầu. Phương pháp 1. Ví dụ này sử dụng phần tử biểu mẫu và phương thức GET/POST để chuyển các biến JavaScript sang PHP. Dạng nội dung có thể được truy cập thông qua các hành động GET và POST trong PHP Cổng thông tin Khoa học Máy tính dành cho chuyên viên máy tính. Nó chứa các bài báo về lập trình và khoa học máy tính được viết tốt, được suy nghĩ kỹ và giải thích rõ ràng, các câu đố và câu hỏi thực hành/lập trình cạnh tranh/phỏng vấn công ty Truyền biến từ JavaScript sang PHP. Truyền một biến không đơn giản. Không giống như trước đây, chúng tôi đã sử dụng phương thức get để gửi một biến JavaScript tới PHP. Sử dụng JavaScript thông thường, không thể trao đổi giá trị từ JS sang PHP mà không gửi giá trị đến máy chủ. Vì vậy, bạn phải tải lại trang để làm cho nó hoạt động 2. 3. Giá trị văn bản ban đầu của nút là 0 khi tải trang, vì vậy khi nhấp vào nút, bộ đếm sẽ hiển thị 1, hoặc di chuyển bộ đếm ++; 4. Bạn cũng có thể cập nhật nút để bao gồm thuộc tính
Tài liệu. getElementsByClassName(). MDN[^] Thêm giải pháp của bạn ở đây B I U S small BIG code Xem trước 0thành viên hiện cóhoặc tham gia với chúng tôiTải xuống, Bình chọn, Nhận xét, Xuất bản Email của bạnEmail này đang được sử dụng. Bạn có cần mật khẩu của bạn? Mật khẩu tùy chọnKhi trả lời một câu hỏi xin vui lòng
Nội dung này, cùng với bất kỳ tệp và mã nguồn liên quan nào, được cấp phép theo Giấy phép Mở Dự án Code (CPOL) Xin chào các bạn, tôi đang cố gắng tìm cách tạo một biến tăng dần mỗi khi nhấn nút gửi. Những gì tôi có là một trang web cơ bản có biểu mẫu chứa 3 danh sách thả xuống. Người dùng nhấp vào một mục trong danh sách, sau đó nhấp vào nút gửi ở cuối trang để thêm mục đó vào danh sách. Danh sách này được tạo bởi một cột "đã chọn" trong cơ sở dữ liệu của tôi, đại diện cho một giá trị số. Tôi đã sử dụng truy vấn MySQL để cập nhật cột "đã chọn" (bắt đầu là "0" mặc định) thành "1" nếu mục được chọn, sau đó truy vấn MySQL khác để kéo tất cả các mục trong cơ sở dữ liệu bằng "1". Thay vào đó, điều tôi muốn làm là tạo một biến bộ đếm cập nhật cột "đã chọn" trong cơ sở dữ liệu thành một biến số tăng dần để tôi có thể liệt kê các mục theo thứ tự do người dùng chọn, chứ không phải theo thứ tự chúng xuất hiện trong danh sách của tôi.
tl;dr - Tôi muốn cập nhật một cột trong cơ sở dữ liệu của mình bằng một biến bộ đếm tăng lên mỗi khi nhấn nút gửi của tôi
Đây là một phần mã của tôi không hoạt động như mong muốn, nếu điều này có ích
$mainCounter = $mainCounter + $subCounter; if($_POST['submitted'] == true) { $subCounter++; $destChose = $_POST['destList']; $memChose = $_POST['memList']; $restChose = $_POST['restList']; //Destination If Statement if($destChose >= 1) { mysql_query("update combineddests set selected={$mainCounter} where id={$destChose}"); }//closes if destchose //Memorial If Statement if($memChose >= 1) { mysql_query("update combineddests set selected={$mainCounter} where id={$memChose}"); }//closes if memchose //Restaurant If Statement if($restChose >= 1) { mysql_query("update combineddests set selected={$mainCounter} where id={$restChose}"); }//closes if restchose $result = mysql_query("SELECT place_name, place_addr FROM combineddests WHERE selected >= '1'"); while ($row = mysql_fetch_array($result)) { echo " "; echo " "; echo "Please select a destination."; }//closes main If submit
Mọi đầu vào/mẹo đều được đánh giá cao, cảm ơn trước Liên kết để bình luậnChia sẻ trên các trang web khácNhiều tùy chọn chia sẻ hơn JonnoTheDevĐăng ngày 5 tháng 2 năm 2010 JonnoTheDev
Đăng ngày 5 tháng 2 năm 2010 Sẽ dễ dàng chỉ để lưu trữ trong một phiên session_start(); $_SESSION['counter'] = (!$_SESSION['counter']) ? 0 : $_SESSION['counter']; if($_POST['submit']) { $_SESSION['counter']++; } Liên kết để bình luậnChia sẻ trên các trang web khácNhiều tùy chọn chia sẻ hơn ĐộiCITĐăng ngày 5 tháng 2 năm 2010 ĐộiCIT
Đăng ngày 5 tháng 2 năm 2010
Điều này chắc chắn có vẻ như nó có thể làm việc. Bạn có thể giúp tôi một chút bằng cách giải thích chi tiết mã này cho tôi không? . Phần $_SESSION['counter'] có tạo bộ đếm không khởi tạo lại mỗi lần nhấn nút gửi không? . " làm?
$_SESSION['bộ đếm'] = (. $_SESSION['bộ đếm']) ? . $_SESSION['bộ đếm']; Liên kết để bình luậnChia sẻ trên các trang web khácNhiều tùy chọn chia sẻ hơn JonnoTheDevĐăng ngày 5 tháng 2 năm 2010 JonnoTheDev
Đăng ngày 5 tháng 2 năm 2010
Nó chỉ là một điều kiện cô đọng nếu khác. Thực sự nó nên được $_SESSION['counter'] = isset($_SESSION['counter']) ? $_SESSION['counter'] : 0; Về cơ bản, nếu $_SESSION['counter'] được đặt và có một giá trị, thì hãy giữ nguyên giá trị đó. Nếu không đặt giá trị của nó thành 0. Khi nút gửi được nhấn tăng giá trị của nó. Tuy nhiên, bạn phải nhớ rằng bạn sẽ cần hủy giá trị phiên ở đâu đó. Nếu người dùng rời khỏi trang và sau đó quay lại, giá trị phiên sẽ vẫn tồn tại Sử dụng một phiên chỉ là một tùy chọn. Bạn chỉ có thể sử dụng một trường ẩn trong biểu mẫu để giữ giá trị bộ đếm liên tục Liên kết để bình luậnChia sẻ trên các trang web khácNhiều tùy chọn chia sẻ hơn ĐộiCITĐăng ngày 5 tháng 2 năm 2010 ĐộiCIT
Đăng ngày 5 tháng 2 năm 2010
Làm cách nào để hủy giá trị phiên? Liên kết để bình luậnChia sẻ trên các trang web khácNhiều tùy chọn chia sẻ hơn JonnoTheDevĐăng ngày 5 tháng 2 năm 2010 JonnoTheDev
Đăng ngày 5 tháng 2 năm 2010 không, bạn chỉ cần bỏ đặt nó unset($_SESSION['counter']); Liên kết để bình luậnChia sẻ trên các trang web khácNhiều tùy chọn chia sẻ hơn oni-kunĐăng ngày 5 tháng 2 năm 2010 oni-kun
Đăng ngày 5 tháng 2 năm 2010 Các toán tử rút gọn bậc ba và bậc ba chậm, tôi không khuyên bạn nên sử dụng chúng Liên kết để bình luậnChia sẻ trên các trang web khácNhiều tùy chọn chia sẻ hơn ĐộiCITĐăng ngày 5 tháng 2 năm 2010 ĐộiCIT
Đăng ngày 5 tháng 2 năm 2010
Ồ được thôi. Vậy điều này có giúp tôi không cần thêm "session_destroy();" không? unset($_SESSION['counter']); để đảm bảo rằng nó không đặt lại bộ đếm khi nhấn nút gửi?
Bạn có khuyên bạn nên sử dụng chúng chỉ vì thực tế là chúng chậm không? Liên kết để bình luậnChia sẻ trên các trang web khácNhiều tùy chọn chia sẻ hơn JonnoTheDevĐăng ngày 5 tháng 2 năm 2010 JonnoTheDev
Đăng ngày 5 tháng 2 năm 2010
Bạn không muốn hủy giá trị phiên trên cùng một trang vì bạn chỉ cần đặt lại bộ đếm. Bạn có thể thêm chức năng chung vào tất cả các trang khác của mình để xóa dữ liệu phiên không còn cần thiết. Đây là lý do tại sao tôi đề xuất chỉ sử dụng một trường ẩn trong biểu mẫu của bạn để giữ giá trị của bộ đếm nếu bạn không muốn làm việc với các phiên và chỉ cần tăng giá trị $_POST['counter']
Quên việc sử dụng session_destroy()
Ngoài ra, tốc độ tập lệnh của bạn không phải là một yếu tố. Bạn đang nói micro giây Liên kết để bình luậnChia sẻ trên các trang web khácNhiều tùy chọn chia sẻ hơn JonnoTheDevĐăng ngày 5 tháng 2 năm 2010 JonnoTheDev
Đăng ngày 5 tháng 2 năm 2010 i. e Liên kết để bình luậnChia sẻ trên các trang web khácNhiều tùy chọn chia sẻ hơn ĐộiCITĐăng ngày 5 tháng 2 năm 2010 ĐộiCIT
Đăng ngày 5 tháng 2 năm 2010
Ok cảm ơn bạn điều này có vẻ sẽ dễ hiểu hơn rất nhiều. Làm cách nào để tôi tham khảo "$_POST['counter']"?
session_start(); $_SESSION['counter'] = (!$_SESSION['counter']) ? 0 : $_SESSION['counter']; if($_POST['submit']) { $_SESSION['counter']++; }0
Liên kết để bình luậnChia sẻ trên các trang web khácNhiều tùy chọn chia sẻ hơn JonnoTheDevĐăng ngày 5 tháng 2 năm 2010 JonnoTheDev
Đăng ngày 5 tháng 2 năm 2010 vâng, hoặc để đơn giản hóa session_start(); $_SESSION['counter'] = (!$_SESSION['counter']) ? 0 : $_SESSION['counter']; if($_POST['submit']) { $_SESSION['counter']++; }1 Liên kết để bình luậnChia sẻ trên các trang web khácNhiều tùy chọn chia sẻ hơn ĐộiCITĐăng ngày 5 tháng 2 năm 2010 ĐộiCIT
Đăng ngày 5 tháng 2 năm 2010
Tôi đã thử điều này và $counter luôn bằng 1 mỗi lần nhấn nút gửi. Tôi không chắc chắn về cách sửa lỗi này vì tôi chưa bao giờ sử dụng trường ẩn trong biểu mẫu trước đây. Bạn có bất cứ ý tưởng tại sao nó sẽ không được tăng lên?
session_start(); $_SESSION['counter'] = (!$_SESSION['counter']) ? 0 : $_SESSION['counter']; if($_POST['submit']) { $_SESSION['counter']++; }3 Liên kết để bình luậnChia sẻ trên các trang web khácNhiều tùy chọn chia sẻ hơn JonnoTheDevĐăng ngày 5 tháng 2 năm 2010 JonnoTheDev
Đăng ngày 5 tháng 2 năm 2010 Thay đổi điều này session_start(); $_SESSION['counter'] = (!$_SESSION['counter']) ? 0 : $_SESSION['counter']; if($_POST['submit']) { $_SESSION['counter']++; }4 đến session_start(); $_SESSION['counter'] = (!$_SESSION['counter']) ? 0 : $_SESSION['counter']; if($_POST['submit']) { $_SESSION['counter']++; }5 Vì bạn đã gán giá trị bài đăng cho $counter nên bạn đang tăng biến này Liên kết để bình luậnChia sẻ trên các trang web khácNhiều tùy chọn chia sẻ hơn ĐộiCITĐăng ngày 5 tháng 2 năm 2010 ĐộiCIT
Đăng ngày 5 tháng 2 năm 2010
Được rồi, mọi thứ đang hoạt động như mong muốn. Cảm ơn bạn rất nhiều vì đã giúp đỡ của bạn Liên kết để bình luậnChia sẻ trên các trang web khácNhiều tùy chọn chia sẻ hơn JonnoTheDevĐăng ngày 5 tháng 2 năm 2010 JonnoTheDev
Đăng ngày 5 tháng 2 năm 2010 Đừng lo lắng. Hy vọng rằng bạn có thể thấy cách dữ liệu được tạo liên tục bằng cách sử dụng các siêu lớp của PHP. Trong trường hợp của bạn POST ($_POST). Bạn cũng có thể truyền dữ liệu qua các url và truy cập nó qua $_GET. Dữ liệu phiên được lưu trữ trong $_SESSION và dữ liệu cookie được lưu trữ trong $_COOKIE Làm cách nào để tăng giá trị khi nhấp vào nút trong PHP?Nếu bạn muốn tăng biến máy chủ trong PHP bất cứ khi nào người dùng nhấp vào nút, bạn phải thông báo cho máy chủ, chẳng hạn như sử dụng lệnh gọi ajax. . Ồ, tôi có thể sử dụng javascript không?. nếu bạn muốn giữ mọi thứ ở phía máy khách, hãy cân nhắc xóa PHP. . Chúc mừng, tôi sẽ thử Làm cách nào để gọi hàm PHP khi nhấp vào nút?Gọi hàm PHP bằng nút HTML. Tạo tài liệu biểu mẫu HTML có chứa nút HTML. Khi bấm vào nút, phương thức POST được gọi. Phương thức POST mô tả cách gửi dữ liệu đến máy chủ. Sau khi nhấp vào nút, hàm array_key_exists() được gọi.
Làm cách nào để kiểm tra xem một nút có được nhấp trong PHP không?Hàm isset() trong PHP dùng để kiểm tra xem một biến đã được đặt hay chưa. Điều này có thể hữu ích để kiểm tra nút gửi có được nhấp hay không. Hàm isset() sẽ trả về giá trị true hoặc false.
Làm cách nào để lấy ID nút được nhấp trong PHP?Sau đó, bạn có thể bắt nó với $_GET['id']. Bạn có thể có nhiều nút loại="gửi" có cùng tên ( id ) và giá trị sẽ là nút được nhấp hoặc nút đầu tiên nếu biểu mẫu được gửi bằng cách nhấn enter. . Đó là một ý tưởng tuyệt vời. . Ghi chú. Không nên đặt dữ liệu biểu mẫu quan trọng trong một nút |