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:
[PHP]<?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;
?>[/PHP]