1

PHP を使用して XML ファイルを作成する HTML フォームを含むサイトを作成しようとしています。現時点では XML ファイルが生成されますが、XML ファイルが生成されたら、HTML フォーム内にデータを表示したいと思います (HTML 値内で PHP コードのスニペットを試しました)。これにより、以前の情報が表示され、任意のフィールドを編集できるようになります。これは、新しい 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>
4

1 に答える 1

0

これは暗い中でのちょっとしたショットです.....

1workinglavin.htmlPHP ページ ( ) にすると、フォームでこれを行う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/>
于 2013-07-26T18:50:51.017 に答える