2014-03-26 52 views
0

(signup_process.php)SESSION數據切斷在空間

$city=cleanup($_POST['city']); 
echo $city; 

輸出:紐約

$_SESSION['city']=$city; 
echo $_SESSION['city']; 

輸出:紐約


問題:

(signup.php)

<form method=post action='signup_process.php'> 

City<input type=text name=city value=<?php echo $_SESSION['city'];?>> 

輸出:新

City<input type=text name=city value=<?php echo urlencode($_SESSION['city']);?>> 

輸出:新歌+紐約

City<input type=text name=city value=<?php echo urlencode(str_replace('+', '', $_SESSION['city']));?>> 

輸出:新歌+紐約

我試圖將數據回顯到窗體。

  1. 爲什麼會話數據在空格後切斷?
  2. 如何刪除+號?
+1

使用引號使用值爲 – Ronnie

+0

value =「<?php echo $ _SESSION ['city'];?>」>謝謝! – user2928884

回答

1

您必須將值放在引號中,否則瀏覽器會將該空格之後的部分解釋爲<input>標記的另一個屬性。例如: -

<input type="text" name="city" value="<?php echo $_SESSION['city'];?>"> 

在你的榜樣,將後已經

<input type=text name=city value=New York> 

紐約作爲下一個屬性。

+0

明白了。感謝您的解釋。 – user2928884

0

我爲HTML =傳遞的問題 的解決方案是使用( )空間

該解決方案:

str_replace(" ", "&nbsp;", $_SESSION['city']) 

的方法可以在

echo '<input style="font-size: 17px;color: black;" type="text" name="us" class="form-control" disabled="disabled" value='. str_replace(" ","&nbsp;",$_SESSION['username']).' >';