Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
与php/javascript函数调用混淆_Php_Javascript_Html - Fatal编程技术网

与php/javascript函数调用混淆

与php/javascript函数调用混淆,php,javascript,html,Php,Javascript,Html,我有一个函数,在一定范围内生成13个随机整数,没有重复 我不确定下一部分是否正确,但我在$\u POST上有一个按钮,它将发送到我的php脚本,该脚本一次从数据库生成一个图像。我需要它从我的generate_numbers函数中发送随机数,全部13个,因为最后我想通过单击按钮显示13个不同的图像。我如何处理这个问题?我需要排队吗 **Button to submit to PHP form named display.php** <input type="submit" name"disp

我有一个函数,在一定范围内生成13个随机整数,没有重复

我不确定下一部分是否正确,但我在$\u POST上有一个按钮,它将发送到我的php脚本,该脚本一次从数据库生成一个图像。我需要它从我的generate_numbers函数中发送随机数,全部13个,因为最后我想通过单击按钮显示13个不同的图像。我如何处理这个问题?我需要排队吗

**Button to submit to PHP form named display.php**
<input type="submit" name"display" value=generate_numbers()>
**按钮提交到名为display.PHP的PHP表单**

var generate_numbers=函数()
{
varⅠ,j;
var数组=[];
对于(i=0;i<13;i++)
{
数组[i]=Math.floor(Math.random()*14)+16);

对于(j=0;j,您可以使用php foreach循环遍历每个数字。在php文件中类似于这样的内容:

$images = array();

foreach ($POST['display'] as $num) {
  $img_from_number = get_image_from_number($num);
  $images[] = $img_from_number;
}

// code to display images on page
// or for JSON return $images

function get_image_from_number($num)
  // code here
}
如果您正在使用AJAX表单,则只需循环返回的数组即可在页面上创建图像元素。

使用表单创建页面

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <script type="text/javascript">

        var rndNums = new Array(16,17,18,19,20,21,22,23,24,25,26,27,28);
        var generate_numbers = function()
        {
            for(var i=0; i < 13; i++)
            {
                var idx = Math.floor(Math.random()*rndNums.length);
                var rndNum = rndNums[idx];
                rndNums[idx] = rndNums[rndNums.length - 1];
                rndNums.pop();
                document.getElementsByName("nums[]").item(i).value=rndNum;
            }
        }

    </script>
</head>
<body>
    <form id="numberForm" action="display.php" method="POST">
        <input type="hidden" name="nums[]">
        <input type="hidden" name="nums[]">
        <input type="hidden" name="nums[]">
        <input type="hidden" name="nums[]">
        <input type="hidden" name="nums[]">
        <input type="hidden" name="nums[]">
        <input type="hidden" name="nums[]">
        <input type="hidden" name="nums[]">
        <input type="hidden" name="nums[]">
        <input type="hidden" name="nums[]">
        <input type="hidden" name="nums[]">
        <input type="hidden" name="nums[]">
        <input type="hidden" name="nums[]">
    </form>
    <button onclick="generate_numbers();document.getElementById('numberForm').submit()">submit</button>
</body>
</html>

var rndNums=新阵列(16,17,18,19,20,21,22,23,24,25,26,27,28);
var generate_numbers=函数()
{
对于(变量i=0;i<13;i++)
{
var idx=Math.floor(Math.random()*rndNums.length);
var rndNum=rndNum[idx];
rndNums[idx]=rndNums[rndNums.length-1];
rndNums.pop();
document.getElementsByName(“nums[]”)。项(i)。值=rndNum;
}
}
提交
在php端的“display.php”:



生成图像的PHP正在处理二进制数据,我还可以在内部使用此循环吗?非常感谢优秀的代码,我将进一步查看它,但现在我收到两个错误注意:未定义索引:nums警告:为foreach()提供的参数无效
<!DOCTYPE html>
<html>
<head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <script type="text/javascript">

        var rndNums = new Array(16,17,18,19,20,21,22,23,24,25,26,27,28);
        var generate_numbers = function()
        {
            for(var i=0; i < 13; i++)
            {
                var idx = Math.floor(Math.random()*rndNums.length);
                var rndNum = rndNums[idx];
                rndNums[idx] = rndNums[rndNums.length - 1];
                rndNums.pop();
                document.getElementsByName("nums[]").item(i).value=rndNum;
            }
        }

    </script>
</head>
<body>
    <form id="numberForm" action="display.php" method="POST">
        <input type="hidden" name="nums[]">
        <input type="hidden" name="nums[]">
        <input type="hidden" name="nums[]">
        <input type="hidden" name="nums[]">
        <input type="hidden" name="nums[]">
        <input type="hidden" name="nums[]">
        <input type="hidden" name="nums[]">
        <input type="hidden" name="nums[]">
        <input type="hidden" name="nums[]">
        <input type="hidden" name="nums[]">
        <input type="hidden" name="nums[]">
        <input type="hidden" name="nums[]">
        <input type="hidden" name="nums[]">
    </form>
    <button onclick="generate_numbers();document.getElementById('numberForm').submit()">submit</button>
</body>
</html>
<?php
    $nums = $_POST['nums']; // array
    foreach($nums as $key => $val)
        echo 'nums['.$key.']='.$val."<br>\n";
    // ...
?>