簡體   English   中英

變量始終返回單詞“ Null”

[英]Variable always returns the word “Null”

如果選中“小於16”復選框,則以下代碼執行query1;如果選中“ 16或更多”復選框,則以下代碼執行query2。 這很完美。

<?php
//error_reporting (E_ALL ^ E_NOTICE);
$conn = mysql_connect('localhost','student','student') or die(mysql_error());
mysql_select_db('vgs',$conn);

//Get Question 1
if (isset($_GET['q1option'])) 
{
    $q1option = $_GET['q1option'];
} 
else 
{
    $q1option = "Null";
}

echo("".$_GET['q1option']);
echo("".$q1option);

//Process Question 1
if ($q1option == "Less than 16") 
{
    $query1 = "UPDATE free_hours SET times_selected=times_selected+1 WHERE q1option='Less than 16'";
    $result1 = mysql_query($query1,$conn) or die(mysql_error());
}
if ($q1option == "16 or more") 
{
    $query2 = "UPDATE free_hours SET times_selected=times_selected+1 WHERE q1option='16 or more'";
    $result2 = mysql_query($query2,$conn) or die(mysql_error());
}

但是,當我回顯$ _GET ['q1option']時,出現以下錯誤。

“通知:未定義的索引:第16行的C:\\ wamp \\ www \\ Student \\ vgs \\ process_answers.php中的q1選項”

第16行是這樣的:

echo("".$_GET['q1option']);

同樣,當我回顯$ q1option時,即使選中了小於16並且'times_selected'值正在遞增,它也始終回顯單詞“ Null”。

這里有什么問題?

謝謝你的幫助。

丹尼爾

問題是您沒有收到名為q1optionGET參數。 使用調試器檢查客戶端代碼,並確保已將其發送。

您可以通過執行以下操作來查看服務器端收到的內容:

error_log('$_GET: '.print_r($_GET, true));

(或者,如果您處於安全的環境中,則可以回顯它)。

第一:包裹

echo("".$_GET['q1option']);

進入

    if(isset($_GET['q1option'])){
      echo("".$_GET['q1option']);
    }

為了擺脫通知,那么,如果您的$ _GET沒有任何東西,請確保您使用或提交表單,並且不要意外地嘗試放置兩個表單並提交另一個表單;)。 可以肯定的是,整個代碼(表單文件+ process_answers.php)將在這里有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM