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;
?>