我这里有一个奇怪的问题。 我正在做一个管理页面来编辑电影信息。我的数据库中有一部名为“Blood Diamonds”的电影,但在电视上它只显示“Blood”而没有第二个字“diamond”,我找不到为什么。
require('../classes/movie_class.php');
$moviecinemas = movie::get_movie_info( $_GET['movie_id']);
foreach ($moviecinemas as $movie)
{
$movie_id = $movie['movie_id'];
$movie_name = $movie['movie_name'];
$movie_category = $movie['movie_category'];
$movie_display = $movie['movie_display'];
echo "<input name='movieid' type='hidden' id='movieid' value=" . $movie_id . '><br/>';
echo "Movie Name :";
echo "<input name='moviename' type='text' id='moviename' value=" . $movie_name . '><br/>';
echo "Movie Category :";
echo "<input name='moviecategory' type='text' id='moviecategory' value=" . $movie_category . '><br/>';}
?>
在课程页面中:
public static function get_movie_info($movie_id)
{
$query = mysql_query(
"SELECT *
FROM movie
WHERE movie_id = {$movie_id}"
);
while( $movie = mysql_fetch_assoc( $query ) )
{
$results[] = $movie;
}
return $results;
}
答案 0 :(得分:1)
value
标记中的input
属性应该包含电影名称的引号。否则,当有空格时,它会将下一个单词解释为input
的更多属性。
echo "<input name='moviename' type='text' id='moviename' value='" . $movie_name . "'><br/>";
答案 1 :(得分:0)
您的HTML代码设置不正确,缺少“值属性: 取代
echo "<input name='moviename' type='text' id='moviename' value=" . $movie_name . '><br/>';
通过
echo "<input name='moviename' type='text' id='moviename' value=" . $movie_name . '"><br/>';
此外,您应该对值进行编码,以便“在数据库值中不会损坏您的html代码(例如,htmlentities)。”