On my site users fill out a form to register, this info then gets added to a database. I’m trying to get the info to be written to a CSV file also. The code I have so far gives me this error:
Warning: fopen() [function.fopen]: Filename cannot be empty in /home/content/m/a/t/matronryan/html/sendmail3.php on line 122
Line 122: $fp = fopen($filename, “w”);
I can’t work out what the problem is. Here’s the code:
$first_name = $_POST['first_name']; // required
$last_name = $_POST['last_name']; // required
$email_from = $_POST['email']; // required
$stilldonate = $_POST['stilldonate']; // not required
$phone = $_POST['phone'];
$bid = $_POST['bid']; // required
$item = $_POST['item'];
$address1 = $_POST['address1']; // required
$address2 = $_POST['address2'];
$city = $_POST['city'];
$county = $_POST['county']; // required
$postcode = $_POST['postcode']; // required
$updated = $_POST['updated'];
include('db_functions.php');
connect_to_db();
$query="insert into auctionusers (firstname, lastname, address1, address2, city, county, postcode, email, phone, bid, stilldonate, item, updated) values ('$first_name', '$last_name', '$address1', '$address2', '$city', '$county', '$postcode', '$email_from', '$phone', '$bid', '$stilldonate', '$item', '$updated')";
$result=mysql_query($query);
$filename == 'auctionusers.csv';
$fp = fopen($filename, "w");
$res = mysql_query("SELECT * FROM auctionusers");
// fetch a row and write the column names out to the file
$row = mysql_fetch_assoc($res);
$line = "";
$comma = "";
foreach($row as $name => $value) {
$line .= $comma . '"' . str_replace('"', '""', $name) . '"';
$comma = ",";
}
$line .= "\n";
fputs($fp, $line);
// remove the result pointer back to the start
mysql_data_seek($res, 0);
// and loop through the actual data
while($row = mysql_fetch_assoc($res)) {
$line = "";
$comma = "";
foreach($row as $value) {
$line .= $comma . '"' . str_replace('"', '""', $value) . '"';
$comma = ",";
}
$line .= "\n";
fputs($fp, $line);
}
fclose($fp);
mysql_close();
header('location: index2.php?op=Thank You&id=bid');
}
?>
Can Anyone see whats wrong?
Change:
To:
Double equal performs a boolean operation upon the variable. You must’ve added an extra equals sign by mistake.