2011-09-21 33 views
9

Bằng cách nào đó, tôi có một cảm giác câu hỏi của tôi rất đơn giản và vô lý, nhưng tôi đã cố gắng googling và không thể tìm ra. Có lẽ tôi không biết đúng từ khóa.Tôi làm cách nào để trả lời một POST trong tập lệnh php?

Anyways, tôi có một kịch bản php ngắn để nhận được thông tin POST như sau:

<?php 
    if (isset($_POST['name']) && isset($_POST['info'])) 
    { 
     echo "<strong>Post received.</strong> <br/> <br/> <strong>Name:</strong> " . $_POST['name'] . "<br/><strong>Info:</strong> " . $_POST['info']; 
    } 
    else 
    { 
     echo "Post not received."; 
    } 
?> 

Làm thế nào tôi có thể có kịch bản php của tôi gửi bài trả lời để trang/khách hàng mà các cuộc gọi không? Nếu tôi muốn thực hiện cuộc gọi POST qua, hãy nói ứng dụng C#, làm cách nào để tôi biết liệu POST đã thành công? Tập lệnh php của tôi có nhận được POST gửi trả lời không?

+1

Có thể bạn có thể sử dụng mã HTTP thành công http://en.wikipedia.org/wiki/List_of_HTTP_status_codes#2xx_Success – Olli

+0

Một POST hoặc GET cũng là một chuyển hướng đưa người dùng đến một trang mới. Điều này có nghĩa là bạn không thể gửi cho anh ta bất cứ điều gì trở lại trang 'cũ' mà biểu mẫu đã được bật. Vì vậy, bạn không thể gửi phản hồi 'quay lại', chỉ hiển thị hoặc gửi phản hồi với trang mới mà anh đang tải. – LouwHopley

+0

@Nideo: trừ khi bạn trên web và sử dụng cuộc gọi AJAX cũng OP đề cập đến một ứng dụng khách không phải là trình duyệt (có trang) mà chỉ là một ứng dụng. – PeeHaa

Trả lời

6

Phản hồi được gửi đến người gọi duy nhất, Vì vậy, nó không quan trọng thông qua đó kênh bạn gọi một kịch bản (cho dù có/không có tham số).

Ví dụ: nếu bạn thực hiện yêu cầu qua trình duyệt web, phản hồi sẽ được trình duyệt hiển thị.

Nếu bạn thực hiện cuộc gọi AJAX thì phản hồi sẽ được nhận trong hàm gọi lại javascript.

Và nếu như bạn nói bạn gọi nó thông qua một ứng dụng C# (thông qua ví dụ HttpWebRequest), sau đó các phản ứng nhận được trong HttpWebResponse là những gì bạn vang lên trong kịch bản của bạn

7

Bạn đang sử dụng echo và chính xác. Ngoài ra header() được sử dụng để liên lạc nâng cao.

Để biết chi tiết về cách sử dụng các tiêu đề HTTP 1.1 khác nhau, bạn có thể see the link.

3

Có một số cách để gửi lại thông tin.

Về cơ bản bạn đã thực hiện điều đó bằng cách echo nhập một số văn bản.

Hoặc bạn có thể gửi lại trang html hoặc chuỗi được định dạng (ví dụ: JSON).

Các vấn đề liên quan