Solved

AJAX,FOPEN, Inline Edit?

Posted on 2008-10-24
5
790 Views
Last Modified: 2009-11-01
Is this possible?
I would like to be able to do a inline edit on some text via AJAX and actually update the file I'm working on via PHP's FOPEN.

Some sample or pseudo code would be nice.

Thanks,
Scott

If not possible, points will be awarded to those who provide explanation and/or documentation why.
0
Comment
Question by:thcit
  • 2
  • 2
5 Comments
 
LVL 1

Expert Comment

by:nick_bal
ID: 22800212
Can you please be more specific? It sounds like you know the basic principles of ajax and just want to use fopen inside ajax. Is this correct?
0
 
LVL 3

Author Comment

by:thcit
ID: 22814281
I guess what I'm asking in the grand scheme of things is: is it possible to edit the static contents of an html page that is currently being viewed by the user?  Here's what I have in mind.

User lands on page.html
Then clicks on the text in which an inline edit concept is used to make that text submittable.
After editing text, submit the information via AJAX to another PHP page that utilizes some regex and FOPEN to find the text and replace it with the data submitted.
The page then is reloaded asynchronously and changes are reflected.

Is that any clearer?
0
 
LVL 1

Accepted Solution

by:
nick_bal earned 500 total points
ID: 22823851
Ok below you can find what you asked but it's not with ajax and doesn't reload the page.
I will do that and post it here.. It's just that i didn't have the time to do that.. Hope it helps for now..
<?
if($_REQUEST['action']=="open"){
	$filetoopen = $_POST['file'];
	$fp=fopen($filetoopen, "r");
	$t="";
	while(!feof($fp)) {
	  $t.=fread($fp,1024);
	}
	fclose($fp);
}
 
if($_REQUEST['action']=="edit"){
	$filetoedit = $_POST['file'];
	$script = $_POST['script'];
	$fp=fopen($filetoedit, "w");
	fwrite($fp,$script);
	fclose($fp);
}
?>
 
<form action="index.php?action=open" method="post">
File: <input type="file" name="file"><br>
<input type="submit" value="Open File">
</form>
<br>
<? if($_REQUEST['action']!=""){?>
<form action="index.php?action=edit" method="post">
Code:<br>
<textarea cols="100" rows="20" name="script"><? if($_REQUEST['action']=="open"){echo $t;}else{echo $_POST['script'];}?></textarea>
<input type="hidden" name="file" value="<? echo $_POST['file']?>">
<br>
<input type="submit" value="Edit File">
</form>
<? }?>

Open in new window

0
 
LVL 3

Author Comment

by:thcit
ID: 23034729
Nick,
Have you had time to do the ajax side of your solution?  I haven't had time to test the code above just yet. Priorities just got rearranged.
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Nothing in an HTTP request can be trusted, including HTTP headers and form data.  A form token is a tool that can be used to guard against request forgeries (CSRF).  This article shows an improved approach to form tokens, making it more difficult to…
This article demonstrates how to create a simple responsive confirmation dialog with Ok and Cancel buttons using HTML, CSS, jQuery and Promises
Learn how to match and substitute tagged data using PHP regular expressions. Demonstrated on Windows 7, but also applies to other operating systems. Demonstrated technique applies to PHP (all versions) and Firefox, but very similar techniques will w…
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.

792 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question