954,561 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

script running without errors, but not doing tasks

Hi,

I'm very new to PHP. Any help is appreciated.

I wrote a script that should create a flat file and store information in the flat file that was entered in a form on an earlier page. The script runs successfully and with no errors, and creates the file with the correct name (so my variable values are being passed ok by $_POST), but when I look at the file, nothing was written to it. It was only created and named.

Here's the script...

<?php 					

$accountname = $_POST['accountname'];
$phone = $_POST['phone'];
$fax = $_POST['fax'];
$cell = $_POST['cell'];	
$add1 = $_POST['add1'];
$add2 = $_POST['add2'];
$city = $_POST['city'];
$state = $_POST['state'];
$zip = $_POST['zip'];	
$data = "$accountname \n $phone \n $fax \n $cell \n $add1 \n $add2 \n $city \n $state \n $zip \n";
$ending = ".txt";
$filename = "$accountname$ending";
$handle = fopen($filename, 'x+');

if (file_exists('$filename')){  
echo "The accountname $accountname already exists."; 
}else{
$handle;
fwrite($filename, $data);
fclose($filename);  
echo "Data Stored Successfully";  
} 
?>


also, if an existing file name is used, it is not stopping the script to echo "The accountname $accountname already exists."

Thanks in advance for any help. I'd look it up on my own, but I'm not getting any errors to google and I can't find a good tutorial for what I'm trying to do.

- John

johnr
Newbie Poster
2 posts since Feb 2008
Reputation Points: 10
Solved Threads: 0
 

try these changes...I put some comments where I thought they might help you understand what I changed...

<?php 					

$accountname = $_POST['accountname'];
$phone = $_POST['phone'];
$fax = $_POST['fax'];
$cell = $_POST['cell'];	
$add1 = $_POST['add1'];
$add2 = $_POST['add2'];
$city = $_POST['city'];
$state = $_POST['state'];
$zip = $_POST['zip'];	
$data = "$accountname \n $phone \n $fax \n $cell \n $add1 \n $add2 \n $city \n $state \n $zip \n";
$ending = ".txt";
$filename = "$accountname$ending";

//strings are only interpolated in double quotes! do not use single quotes if placing variables in strings.
//'$filename' = $filename
//"$filename" = the contents of $filename

if (file_exists("$filename"))//check for file in this directory
{  
	echo "The accountname $accountname already exists."; 
}
else
{
	//open file handle in this directory
	$handle = fopen($filename, 'x+');
	
	//write to handle
	fwrite($handle, $data);
	
	//close file handle
	fclose($handle);  
	
	//the next line will echo regardless if what it says is true...
	echo "Data Stored Successfully";  
} 
?>
johnsquibb
Junior Poster in Training
84 posts since Nov 2007
Reputation Points: 14
Solved Threads: 14
 

hali - frickkin - louia!!!

It works!

Thank you!

Even better, the comments you made make sense to me now.

You are awesome!

:icon_cheesygrin:

johnr
Newbie Poster
2 posts since Feb 2008
Reputation Points: 10
Solved Threads: 0
 

glad to be of assistance!

johnsquibb
Junior Poster in Training
84 posts since Nov 2007
Reputation Points: 14
Solved Threads: 14
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You