error in php don't know what I am doing wrong [closed]
I am getting this error Warning: fopen() expects at least 2 parameters, 1 given in C:\wamp\www\fileFormProcess.php on line 19
Warning: feof(): supplied argument is not a valid stream resource in C:\wamp\www\fileFormProcess.php on line 29
Warning: fgets(): supplied argument is not a valid stream resource in C:\wamp\www\fileFormProcess.php on line 30
Warning: Wrong parameter count for explode() in C:\wamp\www\fileFormProcess.php on line 31
I been looking over the files and can not see what I am doing wrong. here's my code:
<?php
if($_POST['firstName']==""|| $_POST['lastName']==""|| $_POST['address']==""|| $_POST['city']==""|| $_POST['state']==""|| $_POST['zip']==""){
header("Location:fileInsert.php?status=2");
}
else{
$newRecord="\n";
$newRecord.=$_POST['lastName']."|".$_POST['firstName']."|".$_POST['address']."|".$_POST['city']."|".$_POST['state']."|".$_POST['zip'];
$myFile="records.txt";
$fp = fopen($myFile, "a");
//Write the data to the file
fwrite($fp, $newRecord);
//Close the file
fclose($fp);
if (file_exists($myFile)) {
$file = fopen($myFile.'r');
$rowcount=0;
echo "<html>\n";
echo " <head>\n";
echo " <title>Sucess!</title>\n";
echo " <link href=\"contact1.css\" type=\"text/css\" rel=\'stlesheet\">";
echo " </head>\n";
echo " <body>";
echo " <table width=\"75%\" cellpadding=\"2\" cellspacing=\"2\" border=\"1\">\n";
echo " <tr>\n";
while (!feof($file)) {
$line = fgets($file);
$aryData=explode("|",$line);
$firstname=$aryData[1];
$lastname=$aryData[0];
$address=$aryData[2];
$city=$aryData[3];
$state=$aryData[4];
$zip=$aryData[5];
echo "<td align=\"center\">";
echo $firstname."".lastname;
echo "<br>".$address;
echo "<br>".$city.".".$state."".$zip;
echo "</td>\n";
$rowcount++;
if ($rowcount!=0 && $rowcount%3==0){
echo " </tr>\n";
echo " <tr>\n";
}
}
while($rowcount%3!=0){
echo "<td> </td>\n";
$rowcount++;
}
echo "</table>\n";
}
}
echo "</body>\n";
echo " </html>\n";
and
<?php
if ($_GET['status']==2){
$strMessage="<strong>All fields are required!</strong>";
}
elseif($_GET['status']==1){
$strMessage="<strong>Your information has been added.</strong>";
}
else{
$strMessage="";
}
?>
<html>
<head>
<link href="contact1.css" t开发者_开发技巧ype="text/css" rel="stylesheet">
<title>Write to a file</title>
<style type="text/css">
fieldset{
width:50%;
}
</style>
</head>
<body>
<?php echo $strMessage; ?>
<p>
<form name='myForm' method='post' action="fileFormProcess.php">
<fildset><legand><i>All Fields are Required</i></legand>
<table id='form' border='0' cellpadding='6'>
<tr>
<td>First Name:</td>
<td><input type='text' name='firstName'></td>
</tr>
<tr>
<td>Last Name:</td>
<td>
<input type='text' name='lastName'></td>
</tr>
<tr>
<td>Street Address:</td>
<td><input type='text' name='address'></td>
</tr>
<tr>
<td>City:</td>
<td><input type='text' name='city'></td>
</tr>
<tr>
<td>State:</td>
<td><input type='text' name='state'></td>
</tr>
<tr>
<td>Zip:</td>
<td><input type='text' name='zip'></td>
</tr>
<tr>
<td><input type='reset' value='Reset Form' name='reset'></td>
<td><input type='submit' value='Submit Form' name='submit'></td>
</tr>
</table>
</fieldset>
</form>
</p>
</body>
</html>
and this is the record.txt file that it is suppose to pull from
Scott|Michael|23 Guist Rd|Scranton|PA|12345
Beesly|Pam|4359 Justin Ave|Pittsburg|PA|44709
Halpert|Jim|450 Sawdust Lane|Chicago|IL|55830
Braff|Zach|33082 Buckthorn Rd|Dalton|OH|40988
Keenan|Maynard|89 Treeview Blvd|Page Springs|AZ|85377
Hedburg|Mitch|9000 Beerbohm Dr|Cadiz|OH|43990
Cook|Dane|23 River Rd|Krabill|OR|66264
Griffin|Lois|123 Our Street|Quahog|RI|48756
Now i did save the record.txt under my www wamp file i just don't know what I did wrong?
This $file = fopen($myFile.'r');
should be $file = fopen($myFile,'r');
.
$myFile.'r'
typo ... should be a comma, I guess ;-)
This:
fopen($myFile.'r')
should be this:
fopen($myFile, 'r')
I am getting this error
Warning: fopen() expects at least 2 parameters, 1 given in C:\wamp\www\fileFormProcess.php on line 19
Well, what's on line 19?
$file = fopen($myFile.'r');
It says it expects two parameters, but is only getting one. Parameters are separated by commas, but there's no commas in this line, so you're only giving it one parameter. Presumably, you meant to type ,
but typoed .
, causing the error. Replacing the line with
$file = fopen($myFile,'r');
is all you need to do.
精彩评论