将Web表单信息保存到xml?

时间:2014-08-29 08:40:48

标签: php xml

我来自设计背景,只是真的有HTML和CSS的经验,所以我对涉及PHP的任何事情都很陌生,只能在最好的时候掌握斩波和改变代码。

我找到了一些PHP代码,允许我创建一个Web表单,使用时,包括用户名,电子邮件,电子邮件主题和电子邮件正文 - 这已经过测试,工作正常,我收到的电子邮件来自形式没有问题。

我现在想要做的是创建/更新我每次有人使用该表单时我用托管用户信息托管的XML文件。

我试过搜索,却找不到任何有用的东西。

我的PHP:

<?php

$ip = $_POST['ip']; 
$httpref = $_POST['httpref']; 
$httpagent = $_POST['httpagent']; 
$visitor = $_POST['visitor']; 
$visitormail = $_POST['visitormail']; 
$notes = $_POST['notes'];
$attn = $_POST['attn'];

if(!$visitormail == "" && (!strstr($visitormail,"@") || !strstr($visitormail,"."))) 
{
echo "<h2>Use Back - Enter valid e-mail</h2>\n"; 
$badinput = "<h2>Feedback was NOT submitted</h2>\n";
echo $badinput;
die ("Go back! ! ");
}

if(empty($visitor) || empty($visitormail) || empty($notes )) {
echo "<h2>Use Back - fill in all fields</h2>\n";
die ("Use back! ! "); 
}

$todayis = date("l, F j, Y, g:i a");

$attn = $attn ; 
$subject = $attn; 

$notes = stripcslashes($notes); 

$message = "
Subject: $attn \n
Message: $notes \n 
From: $visitor ($visitormail)\n
Additional Info : IP = $ip \n
Browser Info: $httpagent \n
";

$from = "From: $visitormail\r\n";


mail('youremail@website.com', $subject, $message, $from);

?>

我发现这个PHP并尝试调整它以使用我的代码,但它似乎不起作用:

<?php 

$file="test_xml.xml";

$visitor="Name";
$ip="IP";

//load xml object
$xml= simplexml_load_file($file);

//assign name
$xml->auth->ids = $visitor;

//assign ip
$xml->auth->key = $ip;

//store the value into the file
file_put_contents($file, $xml->asXML());

?>

我是否在正确的轨道上?

1 个答案:

答案 0 :(得分:0)

只需用你的php替换你的XML代码并试一试

$ xml = new SimpleXMLElement(&#39;&#39;);

    $mydata = $xml->addChild('VisitorInfo');
    $mydata->addChild('Visitor',$Visitor);
    $mydata->addChild('Key',$ip);

    $mydata->PHP_EOL;

mysql_close($db);

$fp = fopen("VisitorData.xml","wb");


fwrite($fp,$xml->asXML());

fclose($fp);