【问题标题】:how to run a php function in javascript [duplicate]如何在javascript中运行php函数[重复]
【发布时间】:2014-11-22 03:58:57
【问题描述】:
<?php
session_start();
function printTable() {
$server = "XXXXXXXX";
$user = "XXXXXXXXX";
$password = "XXXXXXXX";
$database = "XXXXXXXX";
$conn = mysql_connect($server, $user, $password);
mysql_selectdb($database, $conn);
$query = "SELECT Image, ISBN, Name, Vol, Release_date, publisher, price  FROM products p";
$resultset = mysql_query($query, $conn); // retrieve data from database
if ($resultset == null || $resultset == 1) {
    echo mysql_error(); // print SQL error
    die(); // exit PHP program
}
$numFields = mysql_num_fields($resultset);
echo "<table border=2 align=center><tr>";
echo "</tr>";
for ($i=0; $i<(mysql_num_rows($resultset)); $i++) { // print records
    $fields = mysql_fetch_row($resultset);
    echo "<tr>";
    echo "<tr class=$color><td><img width=100px src=$fields[0]></td>";
    echo "<td> Name: " . $fields[2] . " (vol.". $fields[3] . ")</br>";
    echo "<br> ISBN: " . $fields[1] . "</br>";
    echo "<br> Publisher: " . $fields[5] . "</br>";
    echo "<br> Release Date: " . $fields[4] . "</br>";
    echo "<br> Price: HK$ " . $fields[6] . "</td>";
    echo "<td><input type=\"submit\" value=\"Add to Cart\" onclick=\"combine($fields[1], '$fields[2]', $fields[3]);\"/></td>";
    $fields = mysql_fetch_row($resultset);
    if ($fields == null) break;
    echo "<td><img width=100px src=$fields[0]></td>";
    echo "<td> Name: " . $fields[2] . " (vol.". $fields[3] . ")</br>";
    echo "<br> ISBN: " . $fields[1] . "</br>";
    echo "<br> Publisher: " . $fields[5] . "</br>";
    echo "<br> Release Date: " . $fields[4] . "</br>";
    echo "<br> Price: HK$ " . $fields[6] . "</td>";
    echo "<td><input type=\"submit\" value=\"Add to Cart\" onclick=\"combine($fields[1], '$fields[2]', $fields[3]);\"/></td>";
    echo "</tr>";
}
echo "</table>";
}
mysql_close();
?>
<html>
<head>
<script>    
function combine(value1, value2, value3) {
alert (value1 + value2 + value3);
//setcookie(value1);
}
</script>
</head>
<title>
Product Page
</title>
<body>
<body style="background:#A2A2AE">
<h1> <center> Product Page </center> </h1>
<p><center>-----------------------------------------------------------------------------------------------------------------------------------------------------------</center></p>
<?php printTable(); ?>
</body></html>

如何运行函数 addcookies() 将值 1 保存为 cookie...谢谢!

function addcookies(value) {
$pid = $_POST['pid'];
$expiry = time() + 60 * 60 * 24 * 30;

// Update the number of items
if(isset($_COOKIE['count']))
$count = $_COOKIE['count'];
else
$count = 0;

// Put the item into shopping cart
$key = "item: ".$count;
setcookie($key, $pid, $expiry);
setcookie("count", $count+1, $expiry);
}

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

【问题讨论】:

  • 什么XXXXXXXXXXXXXXXXXXXXX???
  • @RileyTse 你知道 PHP 在服务器上运行,JavaScript 在客户端上运行,对吧? (哦,您可能希望通过验证器运行您的 HTML;其中有很多错误。)
  • 是的....其实我只是想保存到cookies

标签: javascript php


【解决方案1】:

首先,您的 html 代码不正确。你打开body标签2次,你的title标签不在head标签之外,它甚至不在body里面。

正如 Biffen 在评论中所说,页面加载后您无法运行 php。相反,您可以使用 ajax。 Ajax Documentation

您必须在其中创建一个包含 php 代码的文件,然后使用 ajax 执行它而无需重新加载页面。正如我看到的,您在评论中写道:“将商品放入购物车”。 请勿将购物车商品存储在浏览器 cookie 或会话中。请改用您的数据库,因为存储在 cookie 或 session 中的数据很容易受到攻击。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-03
    • 1970-01-01
    • 2020-03-24
    • 2013-11-15
    • 2012-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多