2011-08-07 34 views
1

我的add_membership頁面上有2列。左欄是'會員資格添加',右欄是'會員資格添加'。在while循環內未添加到數組的文本字段

呈現「成員添加」的代碼是:

$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值。

對於代碼的頂部部分,我不得不將信用ID包含在複選框中,因爲它似乎不適用於我只回應$ _POST拾取或將其放入隱藏的文本字段。

任何燈光在此將非常感激。

在此先感謝。

回答

3

你缺少在HTML中=

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

應該是:

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

哦,我的日子,那是多麼容易。沒有語法錯誤或沒有出​​現!我必須完成二十次代碼,每次都清楚地遺漏了這些代碼。我只有8個聲望,所以很遺憾我不能對你的回覆+1。 – Ben

1

如果所使用的代碼的第一個塊,你也不會關閉其他條件:

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']; 
     } 
    } 
?> 
+0

非常感謝這一點,它僅僅是一個'='在會員表單中缺失。如何,我會考慮所有的答案來幫助提高我的編程技能。 – Ben

+0

當然,很高興工作。你可能想要做的一件事是空間/縮進你的代碼,以便你(和其他人)更容易閱讀。您可以通過http://phpformatter.com/運行您的代碼,直到您掌握它爲止。 –

+0

感謝g_thorn,當我要求支持的時候,我會把它付諸實踐。 – Ben

0

一般提示:

而不是做

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

只寫

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

注意!,這是一個合乎邏輯的否定,一個ka「不」。它使得它更加明確,你只想處理「錯誤」的情況,而不是忘記填寫「真實」的部分。

+0

非常感謝,我會考慮幫助提高我的編程知識。 – Ben