Προς το περιεχόμενο

Html φόρμα και επεξεργασία xml


istoselidas.gr

Προτεινόμενες αναρτήσεις

Δημοσ.

Γειά σας, μπαίνω κατευθείαν στο ψητό,

 

έχω μια html φόρμα και ένα xml αρχείο τα οποιά φαίνοντα παρακάτω

 

το html:

 

><html>
<head>
<title>Class Reservation tool </title>
</head>
<body>
<form action="processForm.asp" method="post">
 <h3>Class Reservation tool</h3>
 Date: <input type="text" id="firstname" name="firstname"><br>
 Time: <input type="text" id="lastName" name="lastName"><br>
 Lesson: <input type="text" id="address1" name="address1"><br>
 Class: <input type="text" id="address2" name="address2"><br>
 Details: <input type="text" id="phone" name="phone"><br>
 Link: <input type="text" id="email" name="email"><br>
 <input type="submit" id="btnSub" name="btnSub" value="Submit"><br>
</form>
</body>
</html>

 

το xml:

 

><?xml version="1.0" encoding="utf-8"?>
<events>

<event>
	<date>03-11-2010</date>
	<time>9:00 - 11:00 </time>
	<title>Theories www</title>
	<image>a</image>
	<description><![CDATA[<font size="10">k. gianikis</font>]]></description>
	<link><![CDATA[]]></link>
   </event>
<event>
	<date>11-11-2010</date>
	<time>18:00 - 20:00</time>
	<title>Analisi Kiklomaton</title>
	<image>s</image>
	<description><![CDATA[<font size="10">k. mola mpla</font>]]></description>
	<link><![CDATA[]]></link>
   </event>
<event>
	<date>22-11-2010</date>
	<time>13:00 - 15:00</time>
	<title>Diktia Ypologiston</title>
	<image>sarartsi</image>
	<description><![CDATA[<font size="10">mpla mpla mpla</font>]]></description>
	<link><![CDATA[]]></link>
   </event>
	
</events>

 

και θέλω ένα php αρχείο στην μέση που να παίρνει τα στοιχεία που εισαγάγονται στην φόρμα και να τα γράφει στο xml αρχείο με την δομή που φαίνεται παραπάνω.

Θα μπορούσατε κάποιος να postαρει ένα σχέδιο κώδικα ή και ολόκληρο αν γίνεται για το πως θα γίνει αυτό....

 

 

ευχαριστώ προκαταβολικά..:shock:

Δημοσ.
Ένα ακριβώς ίδιο θέμα είχε ανοιχτεί πριν λίγο καιρό...

 

Ψάτε λίγο πριν ποστάρετε

 

 

ναι το είδα βασικά αλλά δεν έβγαλα άκρη και οι απαντήσεις λέγαν ότι να ναι

Δημοσ.

Επειδή θυμάμαι ότι εγώ είχα απαντήση σε αυτό το post, δεν έγραφα ότι να ναι αλλά 2-3 απλά βήματα.

 

1ο) Ποστάρεις τα δεδομένα σου από την φόρμα

2ο) Δημιουργείς ένα αρχείο xml με τα ποσταρισμένα δεδόμένα σου

 

Εσύ από αυτά τι δεν ξέρεις? Googlαρες καθόλου?

Δημοσ.
Επειδή θυμάμαι ότι εγώ είχα απαντήση σε αυτό το post, δεν έγραφα ότι να ναι αλλά 2-3 απλά βήματα.

 

1ο) Ποστάρεις τα δεδομένα σου από την φόρμα

2ο) Δημιουργείς ένα αρχείο xml με τα ποσταρισμένα δεδόμένα σου

 

Εσύ από αυτά τι δεν ξέρεις? Googlαρες καθόλου?

 

><?php

$date = $_POST['firstname'];
$time = $_POST['lastname'];
$lesson = $_POST['address1'];
$class = $_POST['address2'];
$details = $_POST['phone'];
$link = $_POST['email'];

$dom->load("file:///events.xml");

$root = $doc->add_root('events');
$event = $root->new_child('event','');


$event->new_child('date','$date');
$event->new_child('time','$time');
$event->new_child('title','$lesson');
$event->new_child('image','$class');
$event->new_child('description','$details');
$event->new_child('link','$link');

echo "Data has been submitted to1 $to!";


$fp = @fopen('events.xml','w');
if(!$fp) {
   die('Error cannot create XML file');
}
fwrite($fp,$doc->dumpmem());
fclose($fp);

echo "Data has been submitted to $to!";


?>

 

 

να το αρχείο που έφτιαξα αλλά μου πετάει αυτό:

Fatal error: Call to a member function load() on a non-object in /Library/WebServer/Documents/submit.php on line 11

τι μπορώ να κάνω? έχω κάνει κάπου λαθος?

Δημοσ.

Δημιουργία ένος xml

 

>
$xml = "<?xml version="1.0" encoding="utf-8"?>\n";
$xml .= "<events>\n";
$xml .="</events>\n";

$file= fopen("test.xml", "w");
fwrite($file, $xml);
fclose($file);

 

Ουσιαστικά στην μεταβλήτη $xml δημιουργούμε την δομή του xml και μετά δημιουργούμε και το αρχείο

 

Ελπίζω να βοήθησα

Δημοσ.
Δημιουργία ένος xml

 

>
$xml = "<?xml version="1.0" encoding="utf-8"?>\n";
$xml .= "<events>\n";
$xml .="</events>\n";

$file= fopen("test.xml", "w");
fwrite($file, $xml);
fclose($file);

 

Ουσιαστικά στην μεταβλήτη $xml δημιουργούμε την δομή του xml και μετά δημιουργούμε και το αρχείο

 

Ελπίζω να βοήθησα

 

ναι ωραία με αυτό

 

βασικά το fopen για το αρχείο xml μου το κάνω στο τέλος?

 

---------- Προσθήκη στις 11:36 ---------- Προηγούμενο μήνυμα στις 11:25 ----------

 

Δημιουργία ένος xml

 

>
$xml = "<?xml version="1.0" encoding="utf-8"?>\n";
$xml .= "<events>\n";
$xml .="</events>\n";

$file= fopen("test.xml", "w");
fwrite($file, $xml);
fclose($file);

 

Ουσιαστικά στην μεταβλήτη $xml δημιουργούμε την δομή του xml και μετά δημιουργούμε και το αρχείο

 

Ελπίζω να βοήθησα

 

τώρα το .php μου παίρνει αυτήν την μορφή

 

><?php

$xml = "<?xml version="1.0" encoding="utf-8"?>\n";
$xml .= "<events>\n";
$xml .="</events>\n"; 

$date = $_POST['firstname'];
$time = $_POST['lastname'];
$lesson = $_POST['address1'];
$class = $_POST['address2'];
$details = $_POST['phone'];
$link = $_POST['email'];


$root = $xml->add_root('events');
$event = $root->new_child('event','');


$event->new_child('date','$date');
$event->new_child('time','$time');
$event->new_child('title','$lesson');
$event->new_child('image','$class');
$event->new_child('description','$details');
$event->new_child('link','$link');

echo "Data has been submitted to1 $to!";


$fp = @fopen('events.xml','w');
if(!$fp) {
   die('Error cannot create XML file');
}
fwrite($fp,$xml);
fclose($fp);
 
echo "Data has been submitted to $to!";

?>

 

και μου πετάει το παρακάτω

 

>Parse error: syntax error, unexpected T_DNUMBER in /Library/WebServer/Documents/submit.php on line 3

Δημοσ.

Φίλε μου καλοπροαίρετα το λέω έχεις ιδέα τι γράφεις στον κώδικα?

Βρήκες ένα κομμάτι κώδικα από ένα site, βάζεις στο ήδη λάθος κώδικα και αυτό που σου είπα και εγώ και περιμένεις να δουλέψει?

 

Στην μεταβλητή $xml ΦΤΙΑΧΝΟΥΜΕ την δομή του xml που θες να έχεις.

'Ένα πρόχειρο παράδειγμα είναι

 

>
$xml = "<?xml version="1.0" encoding="utf-8"?>\n"; 
$xml .= "<events>\n"; 
$xml .= "<event>\n";
$xml .= "<date>03-11-2010</date>\n";
$xml .= "<time>9:00 - 11:00 </time>\n";
$xml .= "<title>Theories www</title>\n";
$xml .= "<image>a</image>\n";
$xml .= "<description><![CDATA[<font size="10">k. gianikis</font>]]></description>\n";
$xml .= "<link><![CDATA[]]></link>\n";
$xml .= "</event>\n";
$xml .="</events>\n";

Δημοσ.
Φίλε μου καλοπροαίρετα το λέω έχεις ιδέα τι γράφεις στον κώδικα?

Βρήκες ένα κομμάτι κώδικα από ένα site, βάζεις στο ήδη λάθος κώδικα και αυτό που σου είπα και εγώ και περιμένεις να δουλέψει?

 

Στην μεταβλητή $xml ΦΤΙΑΧΝΟΥΜΕ την δομή του xml που θες να έχεις.

'Ένα πρόχειρο παράδειγμα είναι

 

>
$xml = "<?xml version="1.0" encoding="utf-8"?>\n"; 
$xml .= "<events>\n"; 
$xml .= "<event>\n";
$xml .= "<date>03-11-2010</date>\n";
$xml .= "<time>9:00 - 11:00 </time>\n";
$xml .= "<title>Theories www</title>\n";
$xml .= "<image>a</image>\n";
$xml .= "<description><![CDATA[<font size="10">k. gianikis</font>]]></description>\n";
$xml .= "<link><![CDATA[]]></link>\n";
$xml .= "</event>\n";
$xml .="</events>\n";

 

 

Ευχαριστώ πολύ για την μέχρι τώρα βοήθεια απλά έχω ζαλιστεί με την μ@λ@κία, ναι αυτό το είχα κάνει αλλά κάθε φορά που γράφει στο αρχείο σβήνει τις παλιές καταχωρίσεις του xml αυτό δεν μπορώ να διορθόσω και πήγα στο dom μπάς και βγάλω άκρη και εκέι τα μπουρδούκλωσα...

 

μπορείς να μου πείς πώς θα το κάνω αυτό..

 

δηλαδή το xml να κρατάει τα μέχρι τότε στοιχεία και να προσθέτει από κει και πέρα event

 

ο κωδικάς μου τώρα είναι :

 

><?php


$date = $_POST['firstname'];
$time = $_POST['lastname'];
$lesson = $_POST['address1'];
$class = $_POST['address2'];
$details = $_POST['phone'];
$link = $_POST['email'];


$xml .= "<events>\n"; 
$xml .= "<event>\n";
$xml .= "<date>$date</date>\n";
$xml .= "<time>$time</time>\n";
$xml .= "<title>$lesson</title>\n";
$xml .= "<image>$class</image>\n";
$xml .= "<description>$details</font>]]></description>\n";
$xml .= "<link>$link</link>\n";
$xml .= "</event>\n";
$xml .="</events>\n";

echo "Data has been submitted to!";


$file= fopen("events.xml", "w");
fwrite($file, $xml);
fclose($file);



 
echo "Data has been submitted to 2!";


?>


Δημοσ.

Πες το ρε φίλε μου ότι ναι το είχα φτιάξει αλλά επειδή θέλω να μην χάνονται τα δεδομένα που υπάρχουν στο xml τι μπορούμε να κάνουμε να καταλάβω και εγώ.

 

Προσπάθησε να βρεις στο google να διαβάζεις το αρχείο, να κρατάς τα δεδομένα που θέλεις και μετά να το ξαναδημιουργείς.

Βέβαια το καλύτερο είναι να βρεις κάτι να μπορεί να συνεχίζει να γράφει από κει και κάτω

Δημοσ.

Μαλλλον για εργασία το ζητάει την οποια την ξερω και εγώ.....

Το αστείο της υπόθεσης ειναι πως ζητάει να διαβάζεται απο το αρχειο μετα η xml με readline()...tag ανα γραμμή...

Δεν ειναι ελεινό αυτό παίδες;

Δημοσ.

Καλησπέρα φίλε,

δοκίμασε αυτό

$date = $_POST['firstname'];

$time = $_POST['lastname'];

$lesson = $_POST['address1'];

$class = $_POST['address2'];

$details = $_POST['phone'];

$link = $_POST['email'];

 

$dom = new DomDocument();

$dom->load($file_name);

$root = $dom->documentElement;

$node = $dom->createElement('event');

 

//Οι παρακάτω 3 γραμμές επαναλβάνονται για κάθε πεδίο.

$node_name = $node->createElement('firstname');

$node_name_in = $node->appendChild($node_name);

$node_name_in->nodeValue = $date;

 

//.........................

//.........................

 

$newnode = $root->appendChild($node);

$dom->save($file_name);

 

Σημειώσεις:

Χρησιμοποιώ DOM parser για PHP 5.X (Δεν τρέχει σε PHP 4.X)

Ο DOM χρησιμοποιεί εσωτερικά UTF8 encoding, αν θες να χρησιμοποιήσεις κάποιο άλλο πρέπει να κάνεις utf8_encode και utf8_decode.

Ελπίζω να βοήθησα.

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...