作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
$name="document.write(get_name());";
echo $n= $name; // Here it prints name also (correct one)
$sql=mysql_query("INSERT INTO tab1 (name,visited_time) values ('$n',NOW())");
理想情况下,这应该打印从函数中获取名称
,但它插入document.write(get_name());
注意:get_name
函数正确返回值。并且功能是强制性的。唯一的问题是它插入 document.write(get_name());
而不是它的值。
最佳答案
看来您错过了有关 PHP/JS 编程的重要章节......PHP 代码在服务器端执行。JavaScript 代码在客户端执行。
解决此问题的步骤是:
每当您需要执行此查询时,您都需要从 JavaScript 调用 PHP 并将变量传递给 PHP。您可以通过使用 jquery 的异步调用来完成此操作,例如:
// JS, executed on client side
var name = get_name(); // this javascript function must exist
$.get("path/to/your/page.php", {"name":name});
有关 jQuery 的更多信息:http://api.jquery.com/jQuery.get/
然后,在 PHP 中,您可以从全局 $_GET 中获取该值并可以使用它:
// php code that will be executed when path/to/your/page.php will be called
$name = $_GET['name'];
$sql = "INSERT INTO tab1 (name,visited_time) values ('" . $name . "',NOW())";
$rs= mysql_query($sql);
这将达到您的预期。
您可以使用此代码来实现逻辑,但它需要大量改进:
我不会谈论所有这些主题,它们在网络上被广泛报道,并且您最喜欢的搜索引擎的简单搜索将提供您需要的所有信息。
注意:我写道“JavaScript 代码在客户端执行”。这并不完全正确,因为可以用 JavaScript 构建服务器,但这与您所关心的相去甚远,这甚至不会改变您仍然需要使用以下命令将值从客户端发送到服务器的事实:我刚才描述的逻辑。
关于php - JavaScript (document.write(function())) 值插入 php MySql 插入语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18415331/
我是一名优秀的程序员,十分优秀!