0

I just can't seem to figure out the logic to write the inputted information (contact form) to a text file within the localhost.

I am uploading all of this information on my school's server. If I please could get some help. Truly can't figure this part out.

HTML CODE:

    <form action="Registered.php" method="post">
     <p>
        <label>First Name:</label>
        <input name="fName" type="text">
    </p>
    <p>
        <label>Last Name:</label>
        <input name="lName" type="text">
    </p>
    <p>
        <label>Address:</label>
        <input name="address" type="text">        
    </p>
    <p>
        <label>State:</label>
        <select name="statedropdown">
<option value="Al"> Al </option>
<option value="AK"> AK </option>
<option value="AS">AS</option>
<option value="AR">AR</option>
<option value="CA">CA</option>
<option value="CO">CO</option>
<option value="CT">CT</option>
<option value="DE">DE</option>
<option value="DC">DC</option>
<option value="FL">FL</option>
<option value="GA">GA</option>
<option value="HI">HI</option>
<option value="ID">ID</option>
<option value="IL">IL</option>
<option value="IN">IN</option>
<option value="IA">IA</option>
<option value="KS">KS</option>
<option value="KY">KY</option>
<option value="LA">LA</option>
<option value="ME">ME</option>
<option value="MD">MD</option>
<option value="MA">MA</option>
<option value="MI">MI</option>
<option value="MN">MN</option>
<option value="MS">MS</option>
<option value="MO">MO</option>
<option value="MT">MT</option>
<option value="NE">NE</option>
<option value="NV">NV</option>
<option value="NH">NH</option>
<option value="NJ">NJ</option>
<option value="NM">NM</option>
<option value="NY">NY</option>
<option value="NC">NC</option>
<option value="ND">ND</option>
<option value="OH">OH</option>
<option value="OK">OK</option>
<option value="OR">OR</option>
<option value="PA">PA</option>
<option value="RI">RI</option>
<option value="SC">SC</option>
<option value="SD">SD</option>
<option value="TN">TN</option>
<option value="UT">UT</option>
<option value="VT">VT</option>
<option value="VA">VA</option>
<option value="WA">WA</option>
<option value="WV">WV</option>
<option value="WI">WI</option>
<option value="WY">WY</option>
</select>       
    </p>
    <p>
        <label>ZIP Code:</label>
        <input name="zip" required="required" placeholder="12345" type="text">        
    </p>
    <p>
        <label>Email:</label>
        <input name="email" required="required" placeholder="[email protected]" type="email">
    </p>
    <p>
        <label>Phone Number:</label>
        <input name="phone" required="required" placeholder="912-555-1234" type="text">
    </p>
    <p>
        <input value="Submit" type="submit">
        <input type="reset" value="Reset">
    </p>
    <p>
        <td align="center"><a href="http://web-students.armstrong.edu/~tp2283/FormData.txt"> View contacts in database </a></td>
    </p>
    <p>
        <td align="center"><a href="http://web-students.armstrong.edu/~tp2283/contactsFile.htm"> View contacts in file </a></td>
    </p>
</body>
</html>

PHP CODE:

    <html>    
   <head>
      <title> Thank You </title>
   </head>
   <body>
   <?php
            $username="YYYYYYYY";
            $password="XXXXXXXX";
            $database="ZZZZZZZZ";

                #declare variables
                $fName = $_POST['fName'];
                $lName = $_POST['lName'];
                $address = $_POST['address'];
                $statedropdown = $_POST['statedropdown'];
                $zip = $_POST['zip'];
                $phone = $_POST['phone'];
                $email = $_POST['email'];
                $DOCUMENT_ROOT = $SERVER['DOCUMENT_ROOT'];

                mysql_connect(localhost,$username,$password);
                mysql_select_db($database) or die( "Unable to select database");
                $query = "SELECT * FROM contacts";
                $result = mysql_query($query);
                $num = mysql_num_rows($result);

                mysql_close();
?>
      <h1 align = "center"> Thanks for Registering! </h1> <br /><br />
         <p align = "center"> Your information is: </p>
            <table align = "center">
               <tr>
                  <td> First Name: </td>
                  <td> &nbsp </td> 
                  <td> <?php echo $fName ?> </td>
               </tr>
               <tr>
                  <td> Last Name: </td>
                  <td> &nbsp </td> 
                  <td> <?php echo $lName ?> </td>
               </tr>
               <tr>
                  <td> Address: </td>
                  <td> &nbsp </td> 
                  <td> <?php echo $address ?> </td>
               </tr>
               <tr>
                  <td> State: </td>
                  <td> &nbsp </td> 
                  <td> <?php echo $statedropdown ?> </td>
               </tr>
               <tr>
                  <td> Zip: </td>
                  <td> &nbsp </td> 
                  <td> <?php echo $zip ?> </td>
               </tr>
               <tr>
                  <td> Telephone: </td>
                  <td> &nbsp </td> 
                  <td> <?php echo $phone ?> </td>
               </tr>
               <tr>
                  <td> E-mail: </td>
                  <td> &nbsp </td> 
                  <td> <?php echo $email ?> </td>
               </tr>
            </table>

<?php
    if($_POST['saveToFile'] == 'Save to File') {
        $outputstring =
        "First Name: $fName
        Last Name: $lName
        Address: $address
        State: $statedropdown
        Zip: $zip
        Telephone: $phone
        Email: $email
        -----------------------\n";

        $fp = fopen("FormData.txt", 'a');
        flock($fp, LOCK_EX);

        fwrite($fp, $outputstring, strlen($outputstring));
        flock($fp, LOCK_UN);
        fclose($fp);
    }
?>
      <p align="center"><a href="Assignment3.html"> Return to Main Page </a> </p>
   </body>
</html>

If someone could please help me out this would be highly appreciated!

1
  • try creating the file manually first Commented Nov 25, 2013 at 19:46

1 Answer 1

1

Where do you get the variable $_POST['saveToFile'] from? Shouldn't there be something like a checkbox in the form?

Are there any error messages?

I would go like this:

$outputstring =
    . "First Name: $fName \n"
    . "Last Name: $lName \n"
    . "Address: $address \n"
    . "State: $statedropdown \n"
    . "Zip: $zip \n"
    . "Telephone: $phone \n"
    . "Email: $email \n"
    . "-----------------------\n";

file_put_contents("FormData.txt", $outputstring, FILE_APPEND | LOCK_EX);

The function file_put_contents opens and locks the file, appends the data to it, unlocks and finally closes it. So the only difference is the better overview.

Sign up to request clarification or add additional context in comments.

2 Comments

That worked amazing!! Thank you so much! One more question you might be able to help me solve I need to write an SQL script that when ran, generates and populates the appropriate tables with at least 100 contacts.
You're welcome. You can ask a new question for that. But you should give more details like from where the contacts should be populated and if it should be a PHP script executing a SQL query and so on.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.