[英]saving & getting the values onto the page from the database
這是我用來調用查詢以更新數據庫中值的函數:
function updatabout($detailsarr)
{
$query = "UPDATE User_details SET Marital_status='" .
$detailsarr['m_status'] . "', Ethnicity='" .
$detailsarr['ethinicity'] . "', Primary_language='" .
$detailsarr['language'] . "', Education_level='" .
$detailsarr['education'] .
"' WHERE User_id=".$_SESSION['uid'];
$queryresult = mysql_query($query);
echo mysql_error().'<br />'.$query;
}
這里的所有數據都保存到我的數據庫中,除了“愛好”字段,並且愛好字段的值在我的數據庫中顯示為“未定義”,以及單擊“保存”按鈕后,我得到警報並查詢什么我在這里使用過,但是值僅在刷新頁面后才顯示在頁面上。任何人都可以讓我知道我在此代碼中存在的錯誤...謝謝。
更新好,現在我看到您已經編輯並糾正了所涉及代碼中的錯誤。 但是對我來說, <?php =$hobby ?>
仍然沒有意義。 它與PHP解析器無關。 如我的答案所述,在此處使用echo
。
對您的問題的唯一可能解釋是,在生成“ hobby
輸入字段時使用的代碼,特別是此片段value=<?=$hobby?>
有問題。
原因:
PHP處理<?
和<?
不一樣。 前者原樣被回顯,后者告訴PHP此時已啟動PHP代碼並對其進行處理。 然后是unneccesarry =
和missing ;
。
解:
首先使用value="<?php echo $hobby; ?>"
始終建議使用完整的PHP標簽()而不是短標簽(),然后您需要告訴PHP通過在此處使用echo / print $hobby
的值echo
。 現在輸出的HTML應該是value="_Some_Hobby_"
現在,如果輸出的HTML仍為value=""
即為空,那么您需要檢查$hobby
實際持有一個值。
如案例3中http://codepad.org/dvf9bwSd所示 ,
value="<?php echo $hobby; ?>"
PHP解析器只是將<php .... ?>
事情就是這樣。 因此,請使用文字<
& >
。
現在,在案例1中,
value="<?php echo $hobby; ?>"
<?php
var_dump($hobby);
?>
在不分配任何值的情況下回顯$hobby
變量不會顯示任何內容。 並且var_dump
也返回NULL
轉到案例2,
<?php
$hobby = "Coding";
?>
value="<?php echo $hobby; ?>"
<? var_dump($hobby); ?>
定義/為$hobby
分配一個值,然后將其回顯給我們想要的結果value="Coding"
並且var_dump
還說這是一個length=6
的String
也許是代碼未按預期執行的原因,因為您沒有轉義在服務器端腳本中傳遞的數據。
嘗試使用escape
javascript函數。
試試這個:
"m_status=" + escape(barr[0]) + "ðinicity=" + escape(barr[1]) + "&language=" + escape(barr[2]) +" &education=" +escape( barr[3]) + "&hobby=" + escape(barr[4])
您可能還需要使用firebug(firefox)或console(chrome)工具,以便能夠知道在服務器端腳本中傳遞的值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.