我目前正在使用PHP通过echo语句呈现动态JS + CSS + HTML网站。 PHP正在填充一些JS变量。
我想扩展它以包含If / Else语句,但我对PHP如何与呈现的页面交互有一些疑问
在渲染网站后(所有的echo语句都已打印)我还可以调用其他PHP函数吗?例如,如果我单击某些内容,我可以将该调用称为PHP函数吗?
随意指向PHP教程,解释PHP如何与网站交互。具有讽刺意味的是,我已经为其他任务完成了很多PHP编码,我从来没有从头开始考虑它
答案 0 :(得分:3)
PHP不与网站互动。 PHP唯一的功能是将文本输出到浏览器。
这样看:如果你没有PHP,网站将由HTML页面组成。 HTML页面可以包含JavaScript,用户可以与它们进行交互。与PHP的不同之处在于您可以动态生成这些HTML页面(通过关联意味着您还可以动态生成HTML页面中包含的JavaScript)。没有其他任何改变。
答案 1 :(得分:2)
基本上,一旦PHP脚本运行完毕并将所有html内容打印(回显)到browswer,它就会停止运行。
基本上,如果您点击一个网页,那么可以通过表格POST或GET调用新页面,或者javascript可以处理点击。然后,Javascript可能可能触发新请求。并且该新请求可以调用PHP脚本来执行您想要的任何任务。
因此,如果您点击<a href='action1.php?param1=yes'>Click here</a>
链接,那么将在网络服务器上调用脚本action1.php($_REQUEST['param1']
设置为'yes'
),并且webbrowser会显示它返回的任何内容。并且新的html替换了浏览器窗口中当前的所有html。
或者,如果您有表格:
<form action='action2.php' method='POST'>
<input type='text' name='stuff'>
<input type='submit>
</form>
然后你点击提交,然后再次调用网络服务器,但这次将调用脚本action2.php,并将$ _POST ['stuff']设置为文本字段中的任何内容。无论脚本返回什么,都将显示在浏览器中。
现在,如果您想点击浏览器中的某些内容并在页面上更改一些小内容或只是在服务器上执行某些操作,那么您应该特别调查AJAX处理程序和jQuery
祝你好运。
答案 2 :(得分:0)
我在编码中学到了永远不会说永远......
除了标准的Ajax之外,还有--IS--一种异步运行PHP函数的方法:xajax简而言之,它允许您直接调用PHP函数而无需重新加载页面。一句警告 - 文件很薄弱......
PHP是其他人提到的服务器端技术。让它以异步方式运行(或者在主页已经渲染之后,视情况而定)只能通过一些Javascript voodoo来实现,这是xajax为表带来的。它做了“足够好”的工作,使这成为可能。我个人选择使用Jquery,因为它为UI开发带来了巨大的力量。有很多选项可以进行Ajax调用。
推动理解的关键是考虑为FRONT END编码。当我开始职业生涯时,我只是一个后端人,专注于标准if / thens / elses并回应相关代码。一旦它出现在屏幕上,我就完成了它。转移到专注于前端需要了解dom结构 - 您将使用什么来“抓取”元素,然后了解诸如javascript之类的技术来“处理”您的数据。简而言之,它只是一种不同的方式来执行您习惯的语法略有不同。首先要花点时间熟悉遍历Dom的基础知识,或者也许还有一些Javascript或Jquery基础知识,而不是仅仅是首先解决Ajax或者这个特定的任务。从长远来看,这将使你的工作变得更加轻松。