gpt4 book ai didi

php - 激活 PHP 函数的提交按钮

转载 作者:行者123 更新时间:2023-11-28 21:04:39 24 4
gpt4 key购买 nike

好的,我正在网站上创建一个挑战系统。我将在每个步骤中列出到达提交按钮所在位置的情况,希望这有助于使其更容易理解。

网站页面的每个用户旁边都列出了一个挑战按钮。

当您单击挑战按钮时,会弹出一个模态窗口,显示每个用户的 Angular 色。模式窗口中列出的每个 Angular 色在 Angular 色详细信息下方都有自己的挑战按钮,每个 Angular 色的左侧是一个列出 Angular 色的下拉菜单。 (当前登录的用户正在查看该页面)

现在我想要的是,在挑战按钮激活服务器端代码/功能/任何需要的内容之前,登录用户必须从下拉列表中选择一个 Angular 色。

登录用户从下拉菜单中选择其 Angular 色之一后。他们可以单击“挑战”按钮,它将激活我已经创建的一个功能,该功能将创建一个 custom_post_type,然后上传一个通用特色图像,该特色图像将显示在主页 slider 上。

之后,屏幕上会出现另一个弹出窗口,显示挑战成功与否。请记住,这已经在模态窗口中,因此可以说它是一个弹出窗口之上的弹出窗口。

我几乎了解 javascript,我希望这可以严格使用 PHP 来完成。我读过使用 isset 可以实现这一点,但我还没有弄清楚如何成功地做到这一点。

有点像......

if(isset($_POST['challenge']))
{

all of the code that happens after successful click goes here.

}

我当前的按钮代码是这样的...

<div class="challenge_button">                           
<form action="<?php $_SERVER['PHP_SELF'];?>" method="post">
<input type="button" name="challenge" value="Challenge">
</form>
</div>

下拉菜单的示例代码:

选择你的冠军

<select name="contender">                                                            
<option value="0"> ----- </option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
</select>

如果可能的话,现在我该如何将所有这些联系在一起?

类似............

<div class="challenge_button">  
<?php
if (((((drop-down is set return true & grab which option was set and save as variable)))))
{
<form action="<?php $_SERVER['PHP_SELF'];?>" method="post">
<input type="button" name="challenge" value="Challenge">
</form>
}
else
{
echo 'You must setup a champion before you can challenge someone.';
echo 'div class="setup">';
echo 'You can setup your champion <a href="#">here<a>';
echo '</div>';
}
?>
</div>

然后......

如果代码成功运行,模式窗口上会弹出一个窗口。我不希望页面刷新或转到另一个页面。如果不满足某些变量,则仅弹出一个窗口,显示“挑战成功”或“挑战失败”。

采用了另一种不太酷的解决方案。即使在这种方法中,颜色框也不起作用。

JavaScript:

<script language="JavaScript">
function loadPage(list)
{
location.href=list.options[list.selectedIndex].value
}
</script>

变量:

                                            $cuser  =   wp_get_current_user();
$v1 = get_cimyFieldValue($cuser->ID, 'character_name');
$v2 = get_cimyFieldValue($cuser->ID, 'character_name2');
$v3 = get_cimyFieldValue($cuser->ID, 'character_name3');
$v4 = get_cimyFieldValue($cuser->ID, 'character_name4');
$v5 = get_cimyFieldValue($cuser->ID, 'character_name5');
$v6 = get_cimyFieldValue($cuser->ID, 'character_name6');
$v7 = get_cimyFieldValue($cuser->ID, 'character_name7');
$v8 = get_cimyFieldValue($cuser->ID, 'character_name8');
$add = 'http://conspirators.websitedesignbyneo.com/wp-content/themes/conspirators/single-challenge.php?';
$metak = 'class="zoom cboxelement"';
$challenged = $v['toon_name'];

表格:

                                                    <form>
Choose Your Champion:
<select name="contender"
size="1"
onchange="loadPage(this.form.elements[0])"
target="_parent._top"
onmouseclick="this.focus()">
<option value="0"></option>
<?php if ($v1){echo '<option value="'.$add.'challenged='.$challenged.'&challenger='.$v1.'"'.$metak.'>'.$v1.'</option>';}?>
<?php if ($v2){echo '<option value="'.$add.'challenged='.$challenged.'&challenger='.$v2.'"'.$metak.'>'.$v2.'</option>';}?>
<?php if ($v3){echo '<option value="'.$add.'challenged='.$challenged.'&challenger='.$v3.'"'.$metak.'>'.$v3.'</option>';}?>
<?php if ($v4){echo '<option value="'.$add.'challenged='.$challenged.'&challenger='.$v4.'"'.$metak.'>'.$v4.'</option>';}?>
<?php if ($v5){echo '<option value="'.$add.'challenged='.$challenged.'&challenger='.$v5.'"'.$metak.'>'.$v5.'</option>';}?>
<?php if ($v6){echo '<option value="'.$add.'challenged='.$challenged.'&challenger='.$v6.'"'.$metak.'>'.$v6.'</option>';}?>
<?php if ($v7){echo '<option value="'.$add.'challenged='.$challenged.'&challenger='.$v7.'"'.$metak.'>'.$v7.'</option>';}?>
<?php if ($v8){echo '<option value="'.$add.'challenged='.$challenged.'&challenger='.$v8.'"'.$metak.'>'.$v8.'</option>';}?>
</select>
</form>

最佳答案

如果您希望它只有 PHP 而没有 Javascript,您将不得不牺牲“不得刷新”约束,因为提交表单的唯一方法是按下按钮并提交内容。

但是,通过一点点 Javascript,您可以使用 AJAX 之类的东西使挑战按钮工作。工作流程可能是这样的:

页面加载,MODAL(?) 弹出窗口打开,用户点击“挑战”,表单提交到服务器(使用 XMLHTTPRequest 或其他类似 AJAX 的机制),

同时:页面定期检查服务器的质询请求(再次使用 AJAX),并相应地显示消息。

希望这有帮助

关于php - 激活 PHP 函数的提交按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10173958/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com