Jump to content


Photo

Why Is This Happening?


  • Please log in to reply
1 reply to this topic

#1 glenelkins

glenelkins
  • Members
  • PipPipPip
  • Advanced Member
  • 760 posts
  • LocationBridlington - East Riding of Yorkshire - United Kingdom

Posted 16 October 2006 - 06:44 PM

consider this code..when the save button is hit, it saves fine, but the page has so be refreshed to show the new content, why is this when the read file code comes after the save file code? it does not make sense


<?

	// Get the file and A
	$file = $_GET['file'];
	$action = $_GET['a'];
	$contents = $_POST['filecontents'];
	
	// Check if file is empty
	if (empty($file)) {
		echo "Please Enter A File Name";
		exit();
	}
	
	// Check file exists
	if (!(file_exists($file))) {
		echo "The File Does Not Exist";
		exit();
	}
	
	// Check if the filesize is above 0
	if ($file_size = filesize($file) <= 0) {
		echo "There Is Nothing In The File";
		exit();
	}

	// Check for save action
	if ($action == "save") {
		if (!(is_writeable($file))) {
			echo "This File Is Not Writeable";
			exit();
		}
		
		// Open for writing
		if (!($file_handle = fopen($file,"w"))) {
			"Cannot Open The File";
			exit();
		}
		
		// Write to file
		if (!(fwrite ($file_handle,trim($contents," ")))) {
			"Cannot Write To File";
			exit();
		}
		
		// Close
		fclose ($file_handle);
		
		// Show message
		$_GET['msg'] = "File Saved!";
	}

	// Open the file for reading	
	if(!($file_handle = fopen($file,"r"))) {
		echo "Cannot Read File";
		exit();
	}
	
	// Read the contents of the file
	$file_contents = fread($file_handle,filesize($file));
	$file_contents = trim($file_contents," ");
	
	// Close the file
	fclose ($file_handle);
		
	// Display The File
	// In a form
?>

<!-- START HTML -->
<form name="openfileform" action="?file=<? echo $file; ?>&a=save" method="post">
	<p style="font-weight: bold"><? echo $_GET['msg']; ?></p>
	<p>
	<table border="0" cellpadding="0" cellspacing="0">
		<tr>
			<td>
				File Size: <? echo $file_size; ?> bytes
			</td>
		<tr>
			<td>
				<textarea name="filecontents" rows="50" cols="100"><? echo $file_contents; ?></textarea>
			</td>
		</tr>
		<tr>
			<td>
				<input type="submit" value="Save">
			</td>
		</tr>
	</table>
	</p>
</form>
<!-- END HTML -->

http://thewebsolutionprovider.com - A Solution For Everything Web!

#2 Barand

Barand
  • Moderators
  • Sen . ( ile || sei )
  • 18,023 posts

Posted 16 October 2006 - 08:24 PM

	$file = $_GET['file'];
	$action = $_GET['a'];

Your form method is POST. Put "file" and "action" in hidden form fields.
If you are still using mysql_ functions, STOP! Use mysqli_ or PDO. The longer you leave it the more you will have to rewrite.

Donations gratefully received






moon.png

|baaGrid| easy data tables - and more
|baaChart| easy line, column and pie charts




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users