Web サイトへのアクセスを要求するユーザーの招待キーを生成するページがあります。
<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 が設定されていない場合、すべての生成ボタンは最初の行でのみ機能します。しかし、行番号をミックスに追加して修正しました。