我们在StackOverflow上看到了很多问题,这些问题建立在PHP像Javascript一样的基础上.如果该人明显不理解PHP是Preproccessor并且仅在页面发送之前有效.
一个明显的例子是在下面的代码中,runCommand()当用户按下按钮时不会运行.
<a href="<?php runCommand(); ?>">Click Me!</a>
Run Code Online (Sandbox Code Playgroud)
就像在Javascript中一样
<a href="javascript:runCommand();">Click Me!</a>
Run Code Online (Sandbox Code Playgroud)
我见过很多这样的问题来自新人,他们根本就没有意识到PHP的运作方式.
我的问题是:解释PHP如何工作的优秀资源在哪里?.
我希望能够将人们重定向到一个页面,这个页面可以让他们走上正确的轨道并知道Preproccessor意味着什么.
(这也让我变得懒惰,每次出现时都不必写一个解释,但不要告诉任何人!)
如果你不知道一个描述这个的地方,请随意提供自己的解释.
正如Carl Smotricz指出的那样,PHP的一部分可以在浏览器之外使用.但我主要是在一个Apache环境中讨论用户请求网页,并希望通过HTML获得回报.
我有PHP代码,如下所示.
<?php
echo "<SCRIPT LANGUAGE='javascript'>add dd_Employee('".$id1."','".$fname1."',".$sal1.");</SCRIPT>";
echo "<SCRIPT LANGUAGE='javascript'>add dd_Employee('".$id2."','".$fname2."',".$sal2.");</SCRIPT>";
....
?>
...
Run Code Online (Sandbox Code Playgroud)
我的JavaScript代码包含
var details=new Array();
function addEmployee(id,fname,salary){
var temp=new Array(id,fname,salary);
details[details.length]=temp;
alert(temp);
}
function displayEmployee(){
for (var i=0;i<details.length;i++)
var temp_details=details[i];
//Display the id,name,sal
var id=temp_details[0];
var name=temp_details[1];
var sal=temp_details[2];
alert(id);
alert(name);
alert(sal);
}
Run Code Online (Sandbox Code Playgroud)
现在问题是PHP分配的任何内容都只会在中AddEmployee.这意味着它工作正常.但在displayEmployeePHP分配的值内部将无法正常工作.我的逻辑有什么缺陷吗?