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();但我明白了,如果你能给我投票的话,这会有助于提高收视率。谢谢