尝试在HTML表单值中显示XML数据

时间:2013-07-26 17:58:57

标签: php html xml

我正在尝试使用HTML创建一个使用PHP创建XML文件的网站。截至目前,它生成了XML文件,但是我想在生成XML文件后,在HTML表单中显示数据(我在HTML值中尝试了PHP代码snippits)。这将显示先前的信息并允许编辑任何字段。然后,这将用于生成新的XML文件。

用于显示以前XML数据的HTML表单(用于删除冗余类型,例如上次发生事故的日期)并接收要传递给PHP脚本的数据。

PHP脚本将数据输入到HTML表单并生成XML文件。

保存为1workinglavin.html

    <html>
<head>
<title>XML Links Data</title>
</head>
<body>

<form method="POST" action="1workingbiblio.php">

<input type="hidden" name="create_xml" value="true">

Enter Message Of The Day: <input name="mo_td" id="mo_td" type="text" value ="??????CODE GOES HERE??????"/> <br/>

Enter Today's Date In "Month Day, Year Format": <input name="field_2" id="field_2" type="text"/> <br/>

Upcoming Events : <input name="field_3" id="field_3" type="text"/> <br/>

Safety: <input name="field_4" id="field_4" type="text"/> <br/>

Production: <input name="field_5" id="field_5" type="text"/> <br/>

Enter Message Of The Day: <input name="field_6" id="field_6" type="text"/> <br/>

Enter Message Of The Day: <input name="field_7" id="field_7" type="text"/> <br/>

Enter Message Of The Day: <input name="field_8" id="field_8" type="text"/> <br/>

Enter Message Of The Day: <input name="field_9" id="field_9" type="text"/> <br/>

Enter Message Of The Day: <input name="field_10" id="field_10" type="text"/> <br/>

Enter Message Of The Day: <input name="field_11" id="field_11" type="text"/> <br/>

Enter Message Of The Day: <input name="field_12" id="field_12" type="text"/> <br/>

Enter Message Of The Day: <input name="field_13" id="field_13" type="text"/> <br/>

Enter Message Of The Day: <input name="field_14" id="field_14" type="text"/> <br/>

Enter Message Of The Day: <input name="field_15" id="field_15" type="text"/> <br/>

<input type="submit" name="submit" value="Generate xml record"/><br/>

</form>

</body>
</html>

保存为1workingbiblio.php

<?php
if(isset($_POST['create_xml'])){
/*makesthepresenceoftheinvisiblecreate_xmlformmandatoryforthescriptaction,
*andstatesthatthe'title'formcannotbeleftblank*/
echo"MARCxmlfilegenerated";
/*InthissectionofthecodeIamassigningphp
*variablesforallformfieldsinbiblform.html*/

$mo_td=$_POST['mo_td'];

$field_2=$_POST['field_2'];

$field_3=$_POST['field_3'];

$field_4=$_POST['field_4'];

$field_5=$_POST['field_5'];

$field_6=$_POST['field_6'];

$field_7=$_POST['field_7'];

$field_8=$_POST['field_8'];

$field_9=$_POST['field_9'];

$field_10=$_POST['field_10'];

$field_11=$_POST['field_11'];

$field_12=$_POST['field_12'];

$field_13=$_POST['field_13'];

$field_14=$_POST['field_14'];

$field_15=$_POST['field_15'];

///////////////////////////////////////////////////////////////////////////////////
$accident_date = $field_2;

$acc_ts = strtotime($accident_date); // Get UNIX Timestamp (number of seconds since     1/1/1970)

$today = time(); // Get the UNIX timestamp for today

$days = 0;

for ($test = $acc_ts; $test <= $today; $test += 86400) { // 86400 = number of seconds in a day

$dy = date('l',$test); // Thats a lowercase L, not an uppercase i or number 1. Gives day of week

 if ($dy != 'Saturday' &&  $dy != 'Sunday') $days++; // if the day isn't a Saturday or Sunday count it.

}
$days ='Days since last accident: ' . $days;
////////////////////////////////////////////////////////////////////////////////////


$xml_document="<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<say> \r\n";

$xml_document.="<MOTD>\r\n";
$xml_document.="$mo_td\r\n";
$xml_document.="</MOTD>\r\n";


$xml_document.="<field_2>\r\n";
$xml_document.="$days\r\n";
$xml_document.="</field_2>\r\n";


$xml_document.="<field_3>\r\n";
$xml_document.="$field_3\r\n";
$xml_document.="</field_3>\r\n";


$xml_document.="<field_4>\r\n";
$xml_document.="$field_4\r\n";
$xml_document.="</field_4>\r\n";


$xml_document.="<field_5>\r\n";
$xml_document.="$field_5\r\n";
$xml_document.="</field_5>\r\n";


$xml_document.="<field_6>\r\n";
$xml_document.="$field_6\r\n";
$xml_document.="</field_6>\r\n";


$xml_document.="<field_7>\r\n";
$xml_document.="$field_7\r\n";
$xml_document.="</field_7>\r\n";


$xml_document.="<field_8>\r\n";
$xml_document.="$field_8\r\n";
$xml_document.="</field_8>\r\n";


$xml_document.="<field_9>\r\n";
$xml_document.="$field_9\r\n";
$xml_document.="</field_9>\r\n";


$xml_document.="<field_10>\r\n";
$xml_document.="$field_10\r\n";
$xml_document.="</field_10>\r\n";


$xml_document.="<field_11>\r\n";
$xml_document.="$field_11\r\n";
$xml_document.="</field_11>\r\n";


$xml_document.="<field_12>\r\n";
$xml_document.="$field_12\r\n";
$xml_document.="</field_12>\r\n";


$xml_document.="<field_13>\r\n";
$xml_document.="$field_13\r\n";
$xml_document.="</field_13>\r\n";


$xml_document.="<field_14>\r\n";
$xml_document.="$field_14\r\n";
$xml_document.="</field_14>\r\n";


$xml_document.="<field_15>\r\n";
$xml_document.="$field_15\r\n";
$xml_document.="</field_15>\r\n";

$xml_document.="\r\n</say>";

$file="workingXML.xml";

$fp=fopen($file,'r');
$write=fwrite($fp,$xml_document);
fclose($fp);

$record_data=simplexml_load_file($file);

echo"<br>Wrotethexmlfile...<br>".$file."<br>";
 }

保存为workingXML.xml

<?xml version="1.0" encoding="UTF-8"?>

<say> 

<MOTD>

message of the say

</MOTD>

<field_2>

Days since last accident: 8

</field_2>

<field_3>

klj

</field_3>

<field_4>

hlkjh

</field_4>

<field_5>

kljh

</field_5>

<field_6>

lkh

</field_6>

<field_7>

lk

</field_7>

<field_8>

jhl

</field_8>

<field_9>

hg

</field_9>

<field_10>

oy

</field_10>

<field_11>

ufro

</field_11>

<field_12>

uy

</field_12>

<field_13>

yug

</field_13>

<field_14>

ldfaf

</field_14>

<field_15>

hbogo

</field_15>



</say>

1 个答案:

答案 0 :(得分:0)

这在黑暗中有点像......

如果您将1workinglavin.html放入PHP页面(1workinglavin.php),则可以使用表单执行此操作

Label: <input name="field_6" id="field_6" type="text" value="<?php echo $field_6 ?>"/>

修改

简单地说:

创建用于访问XML的函数,使这些函数可重用。我不知道你的xml的组成,所以在这里帮不了多。

function getXmlMessage2()
{
  // Place code your here  getting xml data
}

然后:

  • 使用require_once
  • 在所有网页上添加您的函数文件
  • 然后,您可以随时随地getXmlMessage2()
  • 这将阻止您反复编写相同的代码以获取XML数据

<强> EDIT2

 <?php 
 function getXMLMessage() { 
   $file = "workingXML.xml"; 
   $xml = simplexml_load_file($file); 
   $MoTd = $xml->MOTD; 
   return $MoTd; 
 } ?>

此功能将返回MOTD,而不是将其打印出来。然后,您可以从任何这样的文件中调用它;

$MOTD = getXMLMessage();
echo $MOTD;

<强> EDIT3

是的,返回变量很有用,因为如果需要可以进一步操作它。但你也可以马上回应它。

<?php 
// Be sure to include your functions file
  require_once("functions.php");
?> 
Enter Message Of The Day: 
<input name="mo_td" id="mo_td" type="text" value ="<?php echo getXMLMessage(); ?>"/>
<br/>