473,406 Members | 2,208 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,406 software developers and data experts.

New to Ajax - Returning Javascript and $_SESSION information. (Using PHP)

I am currnetly programming a file hosting website in PHP and I am slowly integrating AJAX into the website.

Here is my problem:

The user uploads the file.
The server processes the file and stores a $_SESSION['code'] variable.
After the upload is complete, the server supplies a link that allows the user to view their link codes.
Once they click the link, the page will return the information stored in the $_SESSION['code'] variable. The normal link which opens a new page works flawless. However, when I try to return that information using AJAX, the $_SESSION['code'] variable is showing up as empty.

Here are the files I'm using:
upload.php
This page will process the upload, rename the file, move it, store some database information, and set the session variable $_SESSION['code']
This page contains a script tag with ajax.js as the src.
When the upload is complete, it will display a link that allows the user to execute the getLinkCodes function
getLinkCodes('linkcodes.php', 'maincontainer');

ajax.js
Expand|Select|Wrap|Line Numbers
  1. function getLinkCodes(datasource, divID){
  2.     var XMLHttpRequestObject = false;
  3.  
  4.     if (window.XMLHttpRequest) {
  5.         XMLHttpRequestObject = new XMLHttpRequest();
  6.     } else if (window.ActiveXObject){
  7.         XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
  8.     }
  9.  
  10.     if (XMLHttpRequestObject) {
  11.             var obj = document.getElementById(divID);
  12.             obj.innerHTML = "Loading...";
  13.             XMLHttpRequestObject.open("GET", datasource);
  14.  
  15.             XMLHttpRequestObject.onreadystatechange = function(){
  16.                 if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200){
  17.                     obj.innerHTML = XMLHttpRequestObject.responseText;
  18.                 }
  19.             }
  20.             XMLHttpRequestObject.send(null);
  21.     }
  22. }
linkcodes.php - This will actually display the link codes so that the user can copy and paste them into a forum without any further editing.
This is the page that the XMLHttpRequest actually returns.
[code]

<script type="text/javascript" src="templates/base.js"></script>
<script src="templates/members/multifile_compressed_image.js"></script>
<script type="text/javascript" charset="utf-8">
<!--
var img_files = {};
try
{
img_files = [<?php echo $_SESSION['code']; ?>];
}
catch ( error ) { img_files = {}; }


function write_tags ( type, where )
{
if ( typeof where == 'undefined' ) return false;
var target = $(where);
if ( !target ) return false;

var code = '';
var cntr = 1;

var str = new Array();

for ( var i = 0; i < img_files.length; ++i )
{
var file = img_files[i];

switch ( type )
{
case 'link_bb':
{
if ( file.is_image == 1 ){
code += '[img]' + file.thumb_url + '[/img] ';
if ((cntr%4) == 0){
str.push(code);
code = '';
}
cntr++;
}else{
code += '' + file.name + '';
str.push(code);
code = '';
}
} break;

case 'link_html':
{
if ( file.is_image )
var code = '<a href="' + file.url + '">\n <img src="' + file.thumb_url + '" alt="' + file.name + '" />\n</a>\n';
else
var code = '<a href="' + file.url + '">' + file.name + '</a>\n';
str.push(code);
}
break;

case 'direct_bb':
{
var code = file.is_image ? '[img]' + file.d_url + '[/img]' : '' + file.name + '';
str.push(code);
}
break;

case 'direct_html':
{
var code = file.is_image ? '<img src="' + file.d_url + '" alt="' + file.name + '" />' : '<a href="' + file.d_url + '">' + file.name + '</a>';
str.push(code);
}
break;

case 'direct_url':
{
str.push ( file.d_url );
}
break;
}
}
if (code != '' && type == 'link_bb'){
str.push(code);
}
target.value = str.join("\r\n");
}

function switch_bb_case ( bb_case )
{
var target = $('link_codes');

function toUpper(str){alert(str);}

if ( bb_case == 'upper' )
{
target.value = target.value.replace ( /\[(\/)?img\]/gm, '[$1IMG]' );
target.value = target.value.replace ( /\[(\/)?url\]/gm, '[$1URL]' );
target.value = target.value.replace ( /\[url=/gm, '[URL=' );
}
else
{
target.value = target.value.replace ( /\[(\/)?IMG\]/gm, '[$1img]' );
target.value = target.value.replace ( /\[(\/)?URL\]/gm, '[$1url]' );
target.value = target.value.replace ( /\[url=/gm, '[url=' );
}
}

function imgInit ( )
{
write_tags('link_bb','link_codes');
}
addLoadEvent ( imgInit );
-->
</script>

<div class="middle1">
<div align="center">
Linking codes: <span class="link" onclick="write_tags('link_bb','link_codes');return false;">BB format</span> - <span class="link" onclick="write_tags('link_html','link_codes');retu rn false;">HTML format</span>
&nbsp; &nbsp; &nbsp;Direct link: <span class="link" onclick="write_tags('direct_bb','link_codes');retu rn false;">BB format</span> -
<span class="link" onclick="write_tags('direct_html','link_codes');re turn false;">HTML format</span> -
<span class="link" onclick="write_tags('direct_url','link_codes');ret urn false;">Just the direct URLs</span>
</p>
<textarea rows="15" cols="100" id="link_codes" name="link_codes" style="padding: 2px;"></textarea>
</div>
</div>
[/code]

As I said, the linkcodes.php is the "lext" that the getLinkCodes function returns. However, The javascript in the linkcodes.php page does not load at all because I'm guessing it's not passed back as text.

Please let me know what you guys think and thanks for the help in advanse.

Steven
Jul 8 '07 #1
1 2852
I just realized there are a few spelling errors. I was typing too quick to get this message posted so please ignore them :)
Jul 9 '07 #2

Sign in to post your reply or Sign up for a free account.

Similar topics

3
by: Manish | last post by:
I am developing a photo gallery. 1. The user will be able to upload the photo a) Edit the photo using various GD library functions viz. flip, rotate, ... 2. AJAX is implemented in a small...
15
by: Evil Otto | last post by:
My page loads, and calls an init() function that returns content to a div on the page, as well as setting a $_SESSION variable. The content it returns includes a link that calls the same variable,...
1
by: geevaa | last post by:
http://www.phpbuilder.com/columns/kassemi20050606.php3 XMLHttpRequest and AJAX for PHP programmers James Kassemi Introduction: Although the concept isn't entirely new, XMLHttpRequest...
13
by: Marvin Zhang | last post by:
Hi, I'm not familiar with web programming, but I have a problem here. I have a page. When a user click one button on it, I will use AJAX to request a PHP script which will do a bunch of tasks,...
5
by: Mike | last post by:
Hello, I have a Login page that checks a Db for a Un and Pw using ajax. If the Login is incorrect, they just get a embedded message. If it is correct, I want to redirect COMPLETLY. Whats...
3
rizwan6feb
by: rizwan6feb | last post by:
Hi experts! Recently i was working on "Form Validation Using Ajax". My form validation was creating problem, when a user changes focus too quickly. I had a post related to this, but was unable to...
5
by: sbettadpur | last post by:
Hello everybody I have some issues in my program. Let me explain my requirement briefly, i am using php, mysql, javascript and ajax for my application. when my application opens means if...
1
by: javediq143 | last post by:
Hi All, This is my first post in this forum. I'm developing a CMS for my latest website. This CMS is also in PhP & MySQL. I'm done with the ADD section where the Admin can INSERT new records in...
5
by: thatcollegeguy | last post by:
Below are my 3php and 2js files. I create a table using ajax/php and then want to change the values in the tables add(+ number for teamid) id's for each specific td in the table. I don't know...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.