如何将JavaScript变量传递给PHP?
我想使用表单中的隐藏输入将JavaScript变量传递给PHP 但是我无法将如何将JavaScript变量传递给PHP?,php,javascript,variables,Php,Javascript,Variables,我想使用表单中的隐藏输入将JavaScript变量传递给PHP 但是我无法将$\u POST['hidden1']的值输入$salaried。有什么不对劲吗 代码如下: <script type="text/javascript"> // View what the user has chosen function func_load3(name) { var oForm = document.forms["myform"]; var
$\u POST['hidden1']
的值输入$salaried
。有什么不对劲吗
代码如下:
<script type="text/javascript">
// View what the user has chosen
function func_load3(name) {
var oForm = document.forms["myform"];
var oSelectBox = oForm.select3;
var iChoice = oSelectBox.selectedIndex;
//alert("You have chosen: " + oSelectBox.options[iChoice].text);
//document.write(oSelectBox.options[iChoice].text);
var sa = oSelectBox.options[iChoice].text;
document.getElementById("hidden1").value = sa;
}
</script>
<form name="myform" action="<?php echo $_SERVER['$PHP_SELF']; ?>" method="POST">
<input type="hidden" name="hidden1" id="hidden1" />
</form>
<?php
$salarieid = $_POST['hidden1'];
$query = "select * from salarie where salarieid = ".$salarieid;
echo $query;
$result = mysql_query($query);
?>
<table>
Code for displaying the query result.
</table>
//查看用户选择的内容
函数func_load3(名称){
形式变量=document.forms[“myform”];
var oSelectBox=oForm.select3;
var iChoice=oSelectBox.selectedIndex;
//警报(“您已选择:“+oSelectBox.options[iChoice].text”);
//document.write(oSelectBox.options[iChoice].text);
var sa=oSelectBox.options[iChoice].text;
document.getElementById(“hidden1”).value=sa;
}
用于显示查询结果的代码。
在将页面发送给用户之前,PHP在服务器上运行,JavaScript在收到后在用户的计算机上运行,因此PHP脚本已经执行
如果要将JavaScript值传递给PHP脚本,必须执行XMLHttpRequest将数据发送回服务器
您可以按照前面的问题了解更多信息:
现在,如果您只需要将表单值传递给服务器,您也可以只做一个普通的表单post,这做同样的事情,但是整个页面都必须刷新
<?php
if(isset($_POST))
{
print_r($_POST);
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="text" name="data" value="1" />
<input type="submit" value="Submit" />
</form>
PHP在将页面发送给用户之前在服务器上运行,JavaScript在收到后在用户的计算机上运行,因此PHP脚本已经执行
如果要将JavaScript值传递给PHP脚本,必须执行XMLHttpRequest将数据发送回服务器
您可以按照前面的问题了解更多信息:
现在,如果您只需要将表单值传递给服务器,您也可以只做一个普通的表单post,这做同样的事情,但是整个页面都必须刷新
<?php
if(isset($_POST))
{
print_r($_POST);
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="text" name="data" value="1" />
<input type="submit" value="Submit" />
</form>
无法将变量值从当前页面JavaScript代码传递到当前页面PHP代码。。。PHP代码在服务器端运行,它不知道客户端发生了什么
您需要使用另一种机制将变量从HTML表单传递到PHP代码,例如使用GET或POST方法提交表单
<DOCTYPE html>
<html>
<head>
<title>My Test Form</title>
</head>
<body>
<form method="POST">
<p>Please, choose the salary id to proceed result:</p>
<p>
<label for="salarieids">SalarieID:</label>
<?php
$query = "SELECT * FROM salarie";
$result = mysql_query($query);
if ($result) :
?>
<select id="salarieids" name="salarieid">
<?php
while ($row = mysql_fetch_assoc($result)) {
echo '<option value="', $row['salaried'], '">', $row['salaried'], '</option>'; //between <option></option> tags you can output something more human-friendly (like $row['name'], if table "salaried" have one)
}
?>
</select>
<?php endif ?>
</p>
<p>
<input type="submit" value="Sumbit my choice"/>
</p>
</form>
<?php if isset($_POST['salaried']) : ?>
<?php
$query = "SELECT * FROM salarie WHERE salarieid = " . $_POST['salarieid'];
$result = mysql_query($query);
if ($result) :
?>
<table>
<?php
while ($row = mysql_fetch_assoc($result)) {
echo '<tr>';
echo '<td>', $row['salaried'], '</td><td>', $row['bla-bla-bla'], '</td>' ...; // and others
echo '</tr>';
}
?>
</table>
<?php endif?>
<?php endif ?>
</body>
</html>
我的考试表
请选择薪资id以继续结果:
工薪阶层:
无法将变量值从当前页面JavaScript代码传递到当前页面PHP代码。。。PHP代码在服务器端运行,它不知道客户端发生了什么
您需要使用另一种机制将变量从HTML表单传递到PHP代码,例如使用GET或POST方法提交表单
<DOCTYPE html>
<html>
<head>
<title>My Test Form</title>
</head>
<body>
<form method="POST">
<p>Please, choose the salary id to proceed result:</p>
<p>
<label for="salarieids">SalarieID:</label>
<?php
$query = "SELECT * FROM salarie";
$result = mysql_query($query);
if ($result) :
?>
<select id="salarieids" name="salarieid">
<?php
while ($row = mysql_fetch_assoc($result)) {
echo '<option value="', $row['salaried'], '">', $row['salaried'], '</option>'; //between <option></option> tags you can output something more human-friendly (like $row['name'], if table "salaried" have one)
}
?>
</select>
<?php endif ?>
</p>
<p>
<input type="submit" value="Sumbit my choice"/>
</p>
</form>
<?php if isset($_POST['salaried']) : ?>
<?php
$query = "SELECT * FROM salarie WHERE salarieid = " . $_POST['salarieid'];
$result = mysql_query($query);
if ($result) :
?>
<table>
<?php
while ($row = mysql_fetch_assoc($result)) {
echo '<tr>';
echo '<td>', $row['salaried'], '</td><td>', $row['bla-bla-bla'], '</td>' ...; // and others
echo '</tr>';
}
?>
</table>
<?php endif?>
<?php endif ?>
</body>
</html>
我的考试表
请选择薪资id以继续结果:
工薪阶层:
是否调用了设置隐藏窗体值的函数?本例中没有。在将表单发回服务器之前,修改隐藏值应该没有问题。是否调用设置隐藏表单值的函数?本例中没有。在将表单发回服务器之前,修改隐藏值应该没有问题。我自己也在尝试解决这个问题,然后意识到问题在于,这是一种向后看问题的方式。在大多数情况下,与其尝试将东西从JavaScript传递到php,不如换一种方式。PHP代码在服务器上执行并创建html代码(可能还有java脚本)。然后浏览器加载页面并执行html和java脚本
处理这种情况的明智方法似乎是使用PHP创建您想要的JavaScript和html,然后在页面中使用JavaScript来完成PHP无法完成的事情。看起来这将以一种相当简单和直接的方式为您提供PHP和JavaScript的好处
我所做的一件事情就是使用html图像标记调用PHP代码,这让我看起来像是在动态地从页面向PHP传递内容。大概是这样的:
<img src="pic.php">
PHP中的PHP代码实际上会在网页加载之前创建html代码,但是html代码基本上是动态调用的。这里的php代码可以用于在页面上创建图片,但除了这些命令之外,它还可以包含任何您喜欢的命令。可能它会改变服务器上某些文件的内容,等等。这样做的好处是php代码可以从html执行,我假设是JavaScript,但缺点是它只能在页面上输出图像。您还可以选择通过url中的参数将变量传递给php代码。页面计数器在很多情况下都会使用这种技术。我自己也在尝试解决这个问题,然后意识到问题在于,这是一种向后看问题的方式。在大多数情况下,与其尝试将东西从JavaScript传递到php,不如换一种方式。PHP代码在服务器上执行并创建html代码(可能还有java脚本)。然后浏览器加载页面并执行html和java脚本
处理这种情况的明智方法似乎是使用PHP创建您想要的JavaScript和html,然后在页面中使用JavaScript来完成PHP无法完成的事情。看起来这将以一种相当简单和直接的方式为您提供PHP和JavaScript的好处
我所做的一件事情就是使用html图像标记调用PHP代码,这让我看起来像是在动态地从页面向PHP传递内容。大概是这样的:
<img src="pic.php">
PHP中的PHP代码实际上会在网页加载之前创建html代码,但是
<?php
ob_start();
?>
<script type="text/javascript">
var d = new Date();
document.write(d.getTimezoneOffset());
</script>
<?php
$offset = ob_get_clean();
print_r($offset);
<?php
if (isset($_POST['hidden1'])) {
echo "You submitted {$_POST['hidden1']}";
die;
}
echo <<<HTML
<form name="myform" action="{$_SERVER['PHP_SELF']}" method="post" id="myform">
<input type="submit" name="submit" value="Test this mess!" />
<input type="hidden" name="hidden1" id="hidden1" />
</form>
<script type="text/javascript">
document.getElementById("hidden1").value = "This is an example";
</script>
HTML;
?>
<script>
var p1 = "success";
</script>
<?php
echo "<script>document.writeln(p1);</script>";
?>
function statusChangeCallback(response) {
console.log('statusChangeCallback');
if (response.status === 'connected') {
// Logged into your app and Facebook.
FB.api('/me?fields=id,first_name,last_name,email', function (result) {
document.cookie = "fbdata = " + result.id + "," + result.first_name + "," + result.last_name + "," + result.email;
console.log(document.cookie);
});
}
}
<?php
if(isset($_COOKIE['fbdata'])) {
echo "welcome ".$_COOKIE['fbdata'];
}
?>
var data=$('#myForm').serialize();
<script>
var username = "<?php echo $myname;?>";
alert(username);
</script>
<script>
var username = "syed ali";
var <?php $myname;?> = username;
alert(myname);
</script>
var mydata = 55;
var myname = "syed ali";
var userdata = {'id':mydata,'name':myname};
$.ajax({
type: "POST",
url: "YOUR PHP URL HERE",
data:userdata,
success: function(data){
console.log(data);
}
});
<input type="hidden" id="mydata">
<script>
var myvalue = 55;
$("#mydata").val(myvalue);
</script>
var obj;
$(document).ready(function(){
$("#button1").click(function(){
var username=$("#username").val();
var password=$("#password").val();
$.ajax({
url: "addperson.php",
type: "POST",
async: false,
data: {
username: username,
password: password
}
})
.done (function(data, textStatus, jqXHR) {
obj = JSON.parse(data);
})
.fail (function(jqXHR, textStatus, errorThrown) {
})
.always (function(jqXHROrData, textStatus, jqXHROrErrorThrown) {
});
});
});
<?php
$username1 = isset($_POST["username"]) ? $_POST["username"] : '';
$password1 = isset($_POST["password"]) ? $_POST["password"] : '';
$servername = "xxxxx";
$username = "xxxxx";
$password = "xxxxx";
$dbname = "xxxxx";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO user (username, password)
VALUES ('$username1', '$password1' )";
;
if ($conn->query($sql) === TRUE) {
echo json_encode(array('success' => 1));
} else{
echo json_encode(array('success' => 0));
}
$conn->close();
?>