我是php的新手。这篇文章可能看起来很冗长,但它只是一个简单的项目。这里我试图从中获取信息并用它填充xml文件。但是这样做我必须用元素名称关闭<>
标签。我在我的php文件中使用了<
和>
个实体。当我在浏览器上回显输出时,它会提供所需的输出
在firefox浏览器上输出我想为我的XML文件输出相似的内容:
但是当我写入xml文件时,结束标记消失了,&amp; lt和&amp; gt返回并且xml文件看起来很乱,实际上它根本不像xml文件。
以下是我在xml文件中的样子:
我如何解决这个问题?
形式:
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method='POST'>
<fieldset style='padding-left:30px;width:300px;position:absolute;left:200px;background:lightblue;'>
<legend style='font-size:20px;'>User Info</legend>
Name:</br>
<input type='text' placeholder='name' name='name' required></br></br>
Email:</br>
<input type='email' placeholder='email' name='email'></br></br>
Gender :</br>
<input type='radio' name='gender' id='male' value='male'><label for='male'>male</label></br>
<input type='radio' name='gender' id='female' value='female'><label for='female'>female</label></br></br>
Select fruit:</br>
<select name='opts[]' size='4' style='width:160px;' multiple>
<option value='apple'>apple</option>
<option value='orange'>orange</option>
<option value='pineapple'>pineapple</option>
<option value='banana'>banana</option>
<option value='lichi'>liche</option>
<option value='jackfruit'>jackfruit</option>
<option value='mango'>mango</option>
</select>
</br></br><hr>
<input type='submit' value='submit'>
</fieldset>
</form>
php代码
if(isset($_POST['name']) && isset($_POST['email']) && isset($_POST['gender']) && isset($_POST['opts'])){
if(!empty($_POST['name']) && !empty($_POST['email']) && !empty($_POST['gender']) && !empty($_POST['opts'])){
$name=$_POST['name'];
$email=$_POST['email'];
$gender=$_POST['gender'];
$fruits=$_POST['opts'];
$fruitsample='';
foreach($fruits as $elem){
$fruitsample .='<fruit>'.$elem.'</fruit></br>';
}
$fav_fruits='<favFruits></br>'. $fruitsample.'</favFruits>';
$user='<name>'.$name.'</name>';
$mail='<email>'.$email.'</email>';
$gend='<gender>'.$gender.'</gender>';
$final='<user></br>'.$user.'</br>'.$mail.'</br>'.$gend.'</br>'.$fav_fruits.'</br></user></br>';
echo $final;
$filename='textIt.txt';
$file=fopen($filename,'a');
fwrite($file,$final);
}else{
echo 'you have ot select every field';
}
}