从表单中获取信息并将其直接附加到xml文件中,使用带有结束标记的< >” entact

时间:2014-12-23 11:08:00

标签: php html xml

我是php的新手。这篇文章可能看起来很冗长,但它只是一个简单的项目。这里我试图从中获取信息并用它填充xml文件。但是这样做我必须用元素名称关闭<>标签。我在我的php文件中使用了&lt&gt个实体。当我在浏览器上回显输出时,它会提供所需的输出

在firefox浏览器上输出我想为我的XML文件输出相似的内容:

enter image description here

但是当我写入xml文件时,结束标记消失了,&amp; lt和&amp; gt返回并且xml文件看起来很乱,实际上它根本不像xml文件。

以下是我在xml文件中的样子:

enter image description here

我如何解决这个问题?

形式:

<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 .='&ltfruit&gt'.$elem.'&lt/fruit&gt</br>';
            }
            $fav_fruits='&ltfavFruits&gt</br>'. $fruitsample.'&lt/favFruits&gt';
            $user='&ltname&gt'.$name.'&lt/name&gt';
            $mail='&ltemail&gt'.$email.'&lt/email&gt';
            $gend='&ltgender&gt'.$gender.'&lt/gender&gt';
            $final='&ltuser&gt</br>'.$user.'</br>'.$mail.'</br>'.$gend.'</br>'.$fav_fruits.'</br>&lt/user&gt</br>';
            echo $final;

            $filename='textIt.txt';
            $file=fopen($filename,'a');
            fwrite($file,$final);


        }else{
            echo 'you have ot select every field';
        }

}

1 个答案:

答案 0 :(得分:0)