Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.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按钮;对于';和onclick参数_Php_Loops_Button_Parameters_Onclick - Fatal编程技术网

'中的PHP按钮;对于';和onclick参数

'中的PHP按钮;对于';和onclick参数,php,loops,button,parameters,onclick,Php,Loops,Button,Parameters,Onclick,我的问题是,我想为循环中每增加一个$I创建一个按钮,单击一个按钮,我必须调用另一个PHP文件的include,但要向包含的PHP传递一个参数(链接)。 以下是我尝试过的: for($i=0;$i<64;$i++){ $link="https://www.google.fr/search?q=$i"; //for example echo ' <form method="post"> <button name="button$link

我的问题是,我想为循环中每增加一个$I创建一个按钮,单击一个按钮,我必须调用另一个PHP文件的include,但要向包含的PHP传递一个参数(链接)。 以下是我尝试过的:

for($i=0;$i<64;$i++){
    $link="https://www.google.fr/search?q=$i"; //for example
    echo '
    <form method="post">
        <button name="button$link">Hello</button>
    </form>';

    // generate random string to have random variable name (unique)
    $seed = str_split('abcdefghijklmnopqrstuvwxyz'.'ABCDEFGHIJKLMNOPQRSTUVWXYZ'.'0123456789');
    shuffle($seed); 
    $rand = '';
    foreach (array_rand($seed, 5) as $k){
        $rand .= $seed[$k];
    } 

    $$rand=$link; //puts the parameter (link) in the dynamic variable

    if(isset($_POST["button$$rand"])){
        include("other.php"); // $$rand is used in that function
    }
}

对于($i=0;$i我已经找到了解决方案!
我使用了ajax。
因此,在每个按钮上都有一个对ajax函数的调用,您可以向ajax函数传递一个参数(在我的例子中是一个链接)

应该是这样的:

<button onclick="function('parameter')">


您想通过随机字符串创建动态变量?这不是很危险吗?如果意外地覆盖了其他变量怎么办?抱歉,但您确实应该改变这种方法。至少将动态变量放在某个特定容器(数组)中要更加健壮。除此之外,依赖post值来包含额外的代码也是非常危险的。每个人都可以很容易地伪造此类post数据,因此每个人都可以在代码中包含任意脚本并诱使您运行这些脚本!甚至可能是远程脚本!最后一点:我不明白最终的
包含
s背后的想法声明:
include
只需要一个参数,即文件名。但是你要交出两个用空格分隔的参数。为什么?这意味着什么?关于你的具体问题的最后一点:我有一个印象,你在这里以某种方式混合了不同的请求。这个脚本的post请求应该如何准确地包含随机的参数您刚刚在这个脚本中创建的字符串?
if(isset($\u POST[“button$$rand”]){include(“other.php$$rand”);}
将不起作用