从数据库中获取变量数据并在PHP中显示
Get variable data from database and display in PHP
我想传递值从输入框数据在php,它的显示,但php sql不识别
<form name="form1"/>
<input type="text" name="code1" value="D50" size="7" maxlength="10" onblur="chkidpro(this.value,'provider1');" />
<input type="text" name="code2" value="" size="7" maxlength="10"/>
<form/>
<script type="text/javascript">
var jvalue = form1.code1.value;
<?php $abc = "<script>document.write(jvalue)</script>"?>
</script>
<?PHP
$con = mysql_connect("localhost","abc_one","pass");
mysql_select_db("abc_one", $con);
echo $abc;// ITS PRINT AS D50
$c = 'D50';
//$c = $abc;
$result2 = mysql_query("SELECT * FROM tblmycode where code='$c';");
$tab = mysql_fetch_array($result2);
if($result2 === false)
{
die("Database Error");
}
if(mysql_num_rows($result2) == 0)
{
die("No Record Found");
}
echo $ abc;
如果我替换$c = $abc;NO RECORD FOUND
如果我替换$c = 'D50';记录可用
您展示的代码在SERVER端工作,因此:
<?php $abc = "<script>document.write(jvalue)</script>"?>
设置$abc
为"<script>document.write(jvalue)</script>"
您在那里编写的javaScript将在客户端(浏览器)上工作。不要把它们混在一起…
Ok澄清发生了什么:
该文本位于服务器的php文件中,因此当调用时:
Line Action on Server
<form name="form1"/> //->sent to client
<input type="text" name="code1" value="D50"//->sent to client
<input type="text" name="code2" value="" //->sent to client
<form/> //->sent to client
<script type="text/javascript"> //->sent to client
var jvalue = form1.code1.value; //->sent to client(will run on client)
<?php //->php takes control on server
$abc = "<script>document.write(jvalue)</script>"; //php runs this on server
//php sets $abc to "<script>document.write(jvalue)</script>" on server...
//php does not process javascript, php sees it as text...
?> //->ends php control
</script> //->sent to client
<?PHP //->php takes control on server again
$con = mysql_connect("localhost","abc_one","pass"); // php runs this on server
mysql_select_db("abc_one", $con); // php runs this on server
echo $abc; // php echoes $abc
表示包含
的行<script>document.write(jvalue)</script>
发送到客户端
它被写入您的客户端文档…
将在客户端计算机上计算,而不是在服务器上。
它将在不久的将来发生,现在还没有....
为什么在浏览器上看到D50 ?让我们展望一下未来:
那么当CLIENT(浏览器)解析javascript时会发生什么呢?浏览器将执行
var jvalue = form1.code1.value;
行并设置jvalue为D50当然当浏览器遇到
时<script>document.write(jvalue)</script>
它将运行它并在客户端上显示jvalue 的值,即D50。
所有这些都将发生在客户端计算机上,而不是在服务器上。
所以这将在不久的将来发生,现在还没有....
现在回到php文件
//$c = 'D50'; // lets ignore this
$c = $abc; // php runs this on server.
// guess what now $c is '<script>document.write(jvalue)</script>'
// then php tries to run this:
$result2 = mysql_query("SELECT * FROM tblmycode where code='$c';");
现在你的问题变得非常有趣了:
SELECT * FROM tblmycode where code='<script>document.write(jvalue)</script>';
我希望你现在明白发生了什么…
你需要了解后端和前端是如何工作的。
PHP首先生成HTML服务器端,将其发送给用户,然后在浏览器中运行它并执行Javascript。
所以当你写这个时:
$abc = "<script>document.write(jvalue)</script>"
$abc
将而不是作为JavaScript的结果。它将是一个包含<script>document.write(jvalue)</script>
的字符串。
所以你的方法是完全错误的——你不能把这样的变量传递给PHP!
您需要做的是将字段值发送到服务器,以便脚本可以处理它们。
相关文章:
- PHP:显示sqlite数据库中的html格式数据,使用tinymce保存
- PHP 显示错误的名称值
- 可以't使用AJAX和PHP显示单选按钮值
- jQuery POST to PHP显示在浏览器中,但不显示在PHP文件中
- 通过php显示javascript内容
- 使用PHP显示用户输入
- Jquery UI 自动完成中的 PHP 显示数组
- 用 PHP 显示时钟
- PHP 显示存储的时间数据,并在考虑不同时区的同时存储时间数据
- 使用 Ajax 和 PHP 显示文本
- 无法使用 PHP 显示警告消息
- 使用PHP显示HTML内容的最佳方式是什么
- 用JSON和PHP显示谷歌图表
- 使用php显示已保存的表单值
- PHP显示单选按钮单击上的文本框
- 使用AngularJs和PHP显示从MYSQL收集的数据到html页面
- 使用codebird.php显示twitter列表状态
- Javascript / PHP显示id或name对象
- 使用 Angular.js 和 php 显示数据库行中的值
- Javascript或PHP显示数据