XML DOM, PHP sending 1's to XML?
XML DOM, PHP sending 1's to XML?
看不懂这个。我的PHP看起来很好,注释掉的代码在留下时产生了2个XML数据集。每个元素....下的XML输出为'1'为什么?
PHP:
<?php
echo "Submission Successful!";
echo "<a href='buyonline.htm'>Back</a>";
$dom = new DOMDocument();
$dom->load("data/customer.xml");
$dom->preserveWhiteSpace = false;
$dom->formatOutput = true;
$custid = uniqid();
$firstname = isset($_POST['firstname']);
$lastname = isset($_POST['lastname']);
$email = isset($_POST['email']);
$password = isset($_POST['password']);
$phone = isset($_POST['phone']);
/*$firstname = htmlentities($firstname, ENT_COMPAT, 'UTF-8', false);
$lastname = htmlentities($lastname, ENT_COMPAT, 'UTF-8', false);
$email = htmlentities($email, ENT_COMPAT, 'UTF-8', false);
$password = htmlentities($password, ENT_COMPAT, 'UTF-8', false);
$phone = htmlentities($phone, ENT_COMPAT, 'UTF-8', false);*/
$customers = $dom->getElementsByTagName("customers")->item(0);
$customertag = $dom->createElement("customer");
$custidtag = $dom->createElement("custid", $custid);
$firstnametag = $dom->createElement("firstname", $firstname);
$lastnametag = $dom->createElement("lastname", $lastname);
$emailtag = $dom->createElement("email", $email);
$passwordtag = $dom->createElement("password", $password);
$phonetag = $dom->createElement("phone", $phone);
$customertag->appendChild($custidtag);
$customertag->appendChild($firstnametag);
$customertag->appendChild($lastnametag);
$customertag->appendChild($emailtag);
$customertag->appendChild($passwordtag);
$customertag->appendChild($phonetag);
$customers->appendChild($customertag);
$dom->save('data/customer.xml');
?>
XML:
<?xml version="1.0"?>
<customers>
<customer>
<custid>
</custid>
<firstname>
</firstname>
<lastname>
</lastname>
<email>
</email>
<password>
</password>
<phone>
</phone>
</customer>
<customer><custid>562b5d237b599</custid><firstname>1</firstname>
<lastname>1</lastname><email>1</email><password>1</password><phone>1
</phone></customer></customers>
我可以张贴HTML和JS如果你们需要。请帮忙:)
函数isset
返回true或false,取决于是否设置变量。
执行$phone = isset($_POST['phone'])
表示$phone
获得true
或false
的值。将布尔值true
写入文件以将其转换为1
结束。
我猜你想检查值是否设置,如果没有设置一些默认值。你可以这样做:
$phone = isset($_POST['phone'])? $_POST['phone'] : 'DEFAULT';
你可以用任何值代替'DEFAULT'
。
:关于注释代码。不知道该不该用。但这段代码的情况是下一个:假设有人输入他的姓I am <robot/>
。当您将其直接放入xml文件时,您将收到如下内容:
<lastname>I am <robot/></lastname>
看,你得到了lastname
内部的另一个xml标签robot
。意想不到的!这就是为什么你应该逃避你的价值观。但我不确定-你应该隐式地做,或者DOM
库也这样做,同时导出到xml文件。所以你可以试着自己看看
相关文章:
- 节点Js:How to catch a“;没有这样的文件或目录“;读取线模块出错
- 我应该如何从xml文件构建一个javascript页面
- 将XML转换为普通的旧JavaScript对象
- jQuery AJAX write to XML
- 如何将childNodes用于XML文档
- grep in JQuery to C#
- how to convert html <div> to pdf
- 在javascript中的xml中创建一个链接
- Node.js - POST to iFrame?
- SVG xml to image
- Javascript RegEx to XML Schema RegEx
- ColdFusion XML to Javascript variable
- Javascript, XML to HTML
- xml to json in javascript
- XML to HTML with jQuery
- import XML to HTML
- XML DOM, PHP sending 1's to XML?
- XMl(RSS) to Javascript
- node.js xml to json objects
- Javascript array to xml