istoselidas.gr Δημοσ. 10 Ιανουαρίου 2010 Δημοσ. 10 Ιανουαρίου 2010 Γειά σας, μπαίνω κατευθείαν στο ψητό, έχω μια 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αρει ένα σχέδιο κώδικα ή και ολόκληρο αν γίνεται για το πως θα γίνει αυτό.... ευχαριστώ προκαταβολικά..
Uberalles_gr Δημοσ. 10 Ιανουαρίου 2010 Δημοσ. 10 Ιανουαρίου 2010 Ένα ακριβώς ίδιο θέμα είχε ανοιχτεί πριν λίγο καιρό... Ψάτε λίγο πριν ποστάρετε
istoselidas.gr Δημοσ. 10 Ιανουαρίου 2010 Μέλος Δημοσ. 10 Ιανουαρίου 2010 Ένα ακριβώς ίδιο θέμα είχε ανοιχτεί πριν λίγο καιρό... Ψάτε λίγο πριν ποστάρετε ναι το είδα βασικά αλλά δεν έβγαλα άκρη και οι απαντήσεις λέγαν ότι να ναι
Uberalles_gr Δημοσ. 11 Ιανουαρίου 2010 Δημοσ. 11 Ιανουαρίου 2010 Επειδή θυμάμαι ότι εγώ είχα απαντήση σε αυτό το post, δεν έγραφα ότι να ναι αλλά 2-3 απλά βήματα. 1ο) Ποστάρεις τα δεδομένα σου από την φόρμα 2ο) Δημιουργείς ένα αρχείο xml με τα ποσταρισμένα δεδόμένα σου Εσύ από αυτά τι δεν ξέρεις? Googlαρες καθόλου?
istoselidas.gr Δημοσ. 11 Ιανουαρίου 2010 Μέλος Δημοσ. 11 Ιανουαρίου 2010 Επειδή θυμάμαι ότι εγώ είχα απαντήση σε αυτό το 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 τι μπορώ να κάνω? έχω κάνει κάπου λαθος?
Uberalles_gr Δημοσ. 11 Ιανουαρίου 2010 Δημοσ. 11 Ιανουαρίου 2010 Δημιουργία ένος 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 και μετά δημιουργούμε και το αρχείο Ελπίζω να βοήθησα
istoselidas.gr Δημοσ. 11 Ιανουαρίου 2010 Μέλος Δημοσ. 11 Ιανουαρίου 2010 Δημιουργία ένος 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
Uberalles_gr Δημοσ. 11 Ιανουαρίου 2010 Δημοσ. 11 Ιανουαρίου 2010 Φίλε μου καλοπροαίρετα το λέω έχεις ιδέα τι γράφεις στον κώδικα? Βρήκες ένα κομμάτι κώδικα από ένα 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";
istoselidas.gr Δημοσ. 11 Ιανουαρίου 2010 Μέλος Δημοσ. 11 Ιανουαρίου 2010 Φίλε μου καλοπροαίρετα το λέω έχεις ιδέα τι γράφεις στον κώδικα?Βρήκες ένα κομμάτι κώδικα από ένα 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!"; ?>
Uberalles_gr Δημοσ. 11 Ιανουαρίου 2010 Δημοσ. 11 Ιανουαρίου 2010 Πες το ρε φίλε μου ότι ναι το είχα φτιάξει αλλά επειδή θέλω να μην χάνονται τα δεδομένα που υπάρχουν στο xml τι μπορούμε να κάνουμε να καταλάβω και εγώ. Προσπάθησε να βρεις στο google να διαβάζεις το αρχείο, να κρατάς τα δεδομένα που θέλεις και μετά να το ξαναδημιουργείς. Βέβαια το καλύτερο είναι να βρεις κάτι να μπορεί να συνεχίζει να γράφει από κει και κάτω
ΠάρηςΓ Δημοσ. 11 Ιανουαρίου 2010 Δημοσ. 11 Ιανουαρίου 2010 Μαλλλον για εργασία το ζητάει την οποια την ξερω και εγώ..... Το αστείο της υπόθεσης ειναι πως ζητάει να διαβάζεται απο το αρχειο μετα η xml με readline()...tag ανα γραμμή... Δεν ειναι ελεινό αυτό παίδες;
iobotis Δημοσ. 12 Ιανουαρίου 2010 Δημοσ. 12 Ιανουαρίου 2010 Καλησπέρα φίλε, δοκίμασε αυτό $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. Ελπίζω να βοήθησα.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.