我有一个页面为请求访问网站的用户生成邀请密钥。
<section id="beta">
<span class="title">Users Requesting an Invite</span>
<div>
<ul>
<li>#</li>
<li>Email</li>
<li>Invite Code</li>
<li></li>
</ul>
</br>
<ul>
<?
$i = 1;
while($request = mysql_fetch_array($reqlist)) {
?>
<span>
<li><?=$i?></li>
<li><?=$request['email']?></li>
<?php if(isset($request['invite_code']) && !empty($request['invite_code'])) {?>
<li><?=$request['invite_code'];?></li>
<?} elseif(empty($request['invite_code'])) {?>
<li><?if($onum == $i){echo $invcode;}?></li>
<li>
<form id="<?=$i?>" method="post">
<input type="submit" name="submit" value="Generate" />
<input type="hidden" name="num" value="<?=$i?>"/>
</form>
</li>
<?php if($onum == $i && isset($invcode) && !empty($invcode)) {?>
<li>
<form method="post" name="save">
<input type="submit" name="save" value="Save" />
<input type="hidden" name="inv" value="<?=$invcode?>" />
<input type="hidden" name="req_id" value="<?=$request['id']?>" />
</form>
</li>
<? } ?>
<? } ?>
</br>
</span>
<?
$i++;
//$invcode = '';
}
?>
</ul>
</div>
</section>
因此,正如我的代码所述,该过程如下。该表打印出所有请求邀请的用户,最后带有一个生成按钮。单击生成后,我有一个函数可以创建一个带有键的变量。生成密钥<li>
后,将弹出一个带有表单保存的新密钥,以便可以将其保存在数据库中。
但问题是,当单击生成时,它仅适用于第一条记录。我知道这是由于$invcode = '';
制作它,NULL
但我不确定如何以不同的方式进行操作,这样如果单击任何生成按钮,它只会对特定的人有效。
更新:更新了工作答案。也好像我用错了这个问题。一次只有第一行会生成一个代码。每一行的节省都完全正常。只是如果 $invcode 未设置,每个生成按钮将仅在第一行起作用。但我通过将行号添加到组合中来修复它。