在while循环中,文本字段不添加到数组

时间:2011-08-07 19:45:31

标签: php mysql while-loop syntax-error

我的add_membership页面上有2列。左栏是“会员已添加”,右栏是“会员已添加”。

显示“要添加的成员资格”的代码是:

$credit=mysql_query("SELECT * FROM credit");
while($rowc=mysql_fetch_assoc($credit)){
$credit_id=$rowc['credit_id'];
if(in_array($credit_id, $_SESSION['pa']))
{}else{
$url_log=$rowc['logo_url'];
$name=$rowc['name'];
?>
<form action="#" method="post">
<div class="text_right"><input type="submit" value="Add" 
name="asubmit" class="search_input_submit" /></div>
<?php echo  "<img src='$url_log' width='50' height='50' alt='$name' title='$name'>"; ?>
<input type="checkbox" value="<?php echo $credit_id; ?>" name="credit_id" />
<strong><?php echo $name; ?></strong><br />
Membership Number:<input type="text" name"membership">
</form><br /><br />
<?php
}
}
?>

您可以看到会员编号输入。

这是我一直试图加入会员号码的代码:

<?php 
if($_POST['asubmit']){
$credit_id_add=$_POST['credit_id'];
$membership=$_POST['membership'];
mysql_query("INSERT INTO accreditation VALUES(NULL, $lid, $credit_id_add, 
'$membership','0' )");
echo $membership ;
$credit_id_add=null;
$referer = $_SERVER['HTTP_REFERER'];
echo "<meta http-equiv='refresh' content='1; url=$referer'> ";  
}
?>

我已经'回应'我需要保存的变量,除了'Membership'之外它们都出现了,这就是为什么错误发生的原因,因为它试图找到$ membership值。

对于代码的顶部,我必须将Credit ID包含在一个复选框中,因为它似乎不起作用,只需回显$ _POST来拾取,或将其置于隐藏状态文本字段。

任何关于此的灯光都会受到极大的赞赏。

提前致谢。

3 个答案:

答案 0 :(得分:2)

您错过了HTML中的=

<input type="text" name"membership">

应该是:

<input type="text" name="membership">

答案 1 :(得分:1)

如果正在使用第一个代码块,那么您也没有关闭else条件:

else{
$url_log=$rowc['logo_url'];
$name=$rowc['name'];
?>

应该是:

else {
    $url_log = $rowc['logo_url'];
    $name = $rowc['name'];
}
?>

在结束PHP标记之前还应该有一个}来关闭while循环。我不确定是否只是在页面的复制/粘贴中错过了,但如果它在您的代码中,则修复它会有所帮助。

像这样:

<?php
  $credit = mysql_query("SELECT * FROM credit");
  while ($rowc = mysql_fetch_assoc($credit)) {
      $credit_id = $rowc['credit_id'];
      if (!in_array($credit_id, $_SESSION['pa'])) {
          $url_log = $rowc['logo_url'];
          $name = $rowc['name'];
      }
  }
?>

答案 2 :(得分:0)

一般提示:

而不是做

if (some condition you only need when it's false) {
} else {
   ... do stuff here ...
}

写一下

if (!some condition...) {
   ... do stuff here ...
}

注意!,这是一个逻辑否定,又名“不”。它更明确地表明你只想处理“错误”条件,并且不要忘记填写“真实”部分。