Php 当$\u发布信息时打印在纸上

Php 当$\u发布信息时打印在纸上,php,jquery,Php,Jquery,当用户发送信息时,如何打印信息 当用户打开页面时,它会像其他表单一样显示一个表单,当用户完成后,信息会保存在数据库中,但同时我想将该信息打印在纸上… <form method="post" action="save.php"> <input name="name"> <!-- like 30 more inputs, i know is crazy --> <button type="submit">Send</button>

当用户发送信息时,如何打印信息
当用户打开页面时,它会像其他表单一样显示一个表单,当用户完成后,信息会保存在数据库中,但同时我想将该信息打印在纸上…

<form method="post" action="save.php">
   <input name="name">
<!-- like 30 more inputs, i know is crazy -->
   <button type="submit">Send</button>
</form>
<?php
if(isset($_POST['_token']) && $c->validToken()) {
   // Get all inputs, re-validate, clean...etc
   // Save info into the DB
   // Done!

   // Here is where I would like to collect all the infomarion
   // and print it, send it to a printert...

   header('Location: thankyou.php');
   exit;
}
?>

发送
我可以使用PHP,o jquery…
我是在做梦还是这是可能的?

更新 是的,有一台漂亮的打印机连接到“服务器”(这是什么问题?…
不,我没有为此使用ajax…
不,我从来没有使用PHP打印,所以这个问题。。。。我使用过Java,但用户总是看到打印机对话框窗口,在这种情况下,用户不需要看到它。

有两个答案为我指明了正确的方向谢谢,我不知道是谁否决了这个问题,但很明显,发现这个问题无关紧要或太愚蠢一定是个天才……

如果您通过AJAX发送数据,那么在检索到正确的确认信息时,通过AJAX检索确认信息,然后像这样调用print方法

$(document).ready(function () { window.print(); });

这是可能的,但取决于如何打印信息(字体、纸张类型、文件格式…)。希望这能对您有更多帮助。

我一直都在写这样的表单,在那里我会有一个表单引用,如下所示:

<form action="?" method="post"></form>

动作参数中的“?”表示“调用同一页”。提交表单时,所有具有“name”属性的输入和表单元素(如
)都将被提交,其中“name”属性为数组中的$\u POST键,“value”属性为值。像文本输入这样的元素没有像单选按钮和复选框那样的写值属性,但是浏览器知道提交用户输入的值作为“值”属性。所以这包括提交按钮
等元素。因此,当表单发布到自身时,页面顶部有一个条件,上面写着:

if(isset($_POST['submit'])){ // the form has been submitted
    // get all $_POST values from the form and do great stuff with them
    // (send to an API like PayPal or similar)
    // when you have done all that you need to you can evaluate the response
    // from the API, do other stuff, etc. then if you want to, 
    // print to the page.
    // I will pretend that I created another array from some of the $_POST values, 
    // since I don't want ALL $_POST values like check boxes or the submit button to appear on the page
    // We'll call it $response (and it is an array of values)
    echo "<p>Your form was successfully submitted. The following values have 
    been added to our database:</p>";
    echo "<ul class='responseList'>";

    foreach($response as $k=>$v){
        echo "<li>". $k ."=". $v ."</li>";
    }

    echo "</ul>";

} else { // the form hasn't been submitted yet
    // show the form (this can even be put into a function to be called as needed)
}
if(isset($\u POST['submit']){//表单已提交
//从表单中获取所有$\u POST值,并对其进行处理
//(发送到PayPal或类似API)
//当您完成所有需要的工作后,您可以评估响应
//从API,做其他事情,等等,如果你想,
//打印到页面。
//我将假设我从一些$\u POST值创建了另一个数组,
//因为我不希望所有的$u POST值(如复选框或提交按钮)都出现在页面上
//我们称之为$response(它是一个值数组)
echo“您的表单已成功提交。以下值已更改
已添加到我们的数据库:

”; echo“
    ”; foreach($k=>v){ 回声“
  • ”$k.=“$v.
  • ”; } 回声“
”; }否则{//表格还没有提交 //显示表单(甚至可以根据需要将其放入要调用的函数中) }

我希望这是有道理的。您应该能够从$\u POST数组创建较小的数组,这样您就可以在页面上将数组键重命名为更吸引人的名称。例如,您可以在输入字段中使用“firstName”作为name参数,但您不想回显firstName,而是将其清除为“firstName”。

打印机是否连接到服务器?Internet打印协议php类:,或
php_printer.dll
:&,或
打印
/
lpr
:@gitaarab,谢谢,我正在使用第一个链接,它似乎正在工作,我想知道我是否可以使用一组打印机…不知道为什么会被否决,但可能是因为代码部分。“方向”是正确的,但是代码总是打印在文档准备好的地方,这与AJAX成功事件中的处理有点不同。在纸上(就像你说的)。您可以在PHP中创建运行bash命令的代码,但需要对文件和目录具有正确的权限。您可以使用此处所示的
shell\u exec()
函数,请不要担心,感谢您提供的链接,尽管我从未使用过shell\u exec();但我明白了,如果你能给我投票的话,这会有助于提高收视率。谢谢