PHP and XML help

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
misslilbit02
Forum Newbie
Posts: 9
Joined: Mon Sep 18, 2006 3:57 pm

PHP and XML help

Post by misslilbit02 »

This is my delimna. I'm trying to post information over to google. The code POSTS in these scenarios...if I define all the variables inside of the script and put the appropriate values in the XML and send the data over and if I read the data from a .csv file into an array and put the approriate values in the XML and send it over to google.

Now being that that's the case. I needed to create an interface for my code so now I post user inputted data from a form to a script. Well now the script doesn't work and I keep getting one of the two XML errors org.xml.sax.SAXParseException: Premature end of file. or org.xml.sax.SAXParseException: The processing instruction target matching "[xX][mM][lL]" is not allowed.

Now I've read forums that state that the first error comes about because the content is not complete and second error comes about because there are spaces before the prolog of XML.

Either way it's the same code and it should work. The interesting thing about this is that other people have run this script and it works for them.

Can someone help me to resolve this issue. My code is below:

Code: Select all

<?php
session_start();        
$domain = $_SESSION['domain'];
$token = $_SESSION['token'];
 
  $ourFileName = "create.xml";
  $fh = fopen($ourFileName, 'r') or die("Can't open file");
  $content = fread($fh, filesize($ourFileName));
 
 
  
  $content2=trim($content);
  $data="[user]";
  $data2=trim($_POST['username']);
  $userdata = str_replace($data, $data2, $content2);
  
  $data3="[pass]";
  $data4=trim($_POST['pass2']);
  $userdata2 = str_replace($data3, $data4, $userdata);
  
  $data5="[family]";
  $data6=trim($_POST['family2']);
  $userdata3 = str_replace($data5, $data6, $userdata2);
  
  $data7="[given]";
  $data8=trim($_POST['given2']);
  $userdata4 = str_replace($data7, $data8, $userdata3);
  
  $userdata5=trim(userdata4);
 
 // echo $content;
  $url = "https://www.google.com/a/feeds/$domain/user/2.0/";
  
  //echo $url;
  
  $useragent="Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)";
  //$length = strlen($userdata4);
  $length = strlen($content);
  $header_array[0] = "Content-length: " . $length;
  $header_array[1] = "Content-type: application/atom+xml";
  $header_array[2] = "Accept: text/xml, application/xml, application/xhtml+xml, text/html";
  $header_array[3] = "Authorization: GoogleLogin ". $token;  
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_POST, true);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch, CURLOPT_HTTPHEADER, $header_array);
  curl_setopt($ch, CURLOPT_POSTFIELDS, $content);
  $result = curl_exec($ch);
  curl_close($ch); 
  fclose($fh);
  echo $result;
 
?>
 
Post Reply