0

I am trying to submit form information from an HTML form to a mySQL database. I have rooted through various posts on here but can't find a cohesive solution to my problem.

My HTML form's code is as follows:

<form action="ProfileInfo.php" method=post>
    <h3 class="FormHeader">First Name: 
        <input type="text" name="name_first"><br>
    Last Name: 
        <input type="text" name="name_last"><br>
    Email: 
        <input type="email" name="email"><br>
    Gender: 
        <input type="radio" name="gender" value="Male">Male
        <input type="radio" name="gender" value="Female">Female<br>
    Dominant Hand: 
        <input type="radio" name="dominant_hand" value="Right">Right
        <input type="radio" name="dominant_hand" value="Left">Left
        <input type="radio" name="dominant_hand" value="Ambidextrous">Ambidextrous<br>
    Birthday: 
        <input type="date" name="dob"><br>
    What's your best sport other than golf?
        <select name="best_sport">
            <option value="No Other Sports">I don't play other sports.</option>
            <option value="Baseball">Baseball</option>
            <option value="Basketball">Basketball</option>
            <option value="Football">Football</option>
            <option value="Soccer">Soccer</option>
            <option value="Hockey">Hockey</option>
            <option value="Tennis">Tennis</option>
            <option value="Lacrosse">Lacrosse</option>
            <option value="Volleyball">Volleyball</option>
            <option value="Cricket">Cricket</option>
            <option value="Track and Field">Track and Field</option>
            <option value="Water Sports">Water Sports</option>
            <option value="Snow Sports">Snow Sports</option>
            <option value="Dance">Dance</option>
            <option value="Auto Racing">Auto Racing</option>
            <option value="Other Sport">Other Sport</option>
        </select><br>
    How many years have you played golf?
        <input type="number" name="golf_duration" min="0" max="100"><br>
    What's your average golf score?
        <input type="number" name="golf_score" min="0" max="200"><br>
    Weather permitting, how many times a month do you play golf?
        <input type="number" name="golf_play" min="0" max="35"><br>
    Weather permitting, how many times a month do you practice golf?
        <input type="number" name="golf_practice" min="0" max="35"><br>
    What is your handicap or current index?
        <input type="number" name="golf_handicap" min="0" max="41"><br></h3>
   <input type="submit" value="Go">
</form>

And here is my php:

<html>

   <head>
      <title>Profile Info</title>
   </head>

   <body>
      <?php
         if(isset($_POST['add']))
         {
            $dbhost = 'localhost';
            $dbuser = '*********';
            $dbpass = '*********';
            $conn = mysql_connect($dbhost, $dbuser, $dbpass);

            if(! $conn )
            {
               die('Could not connect: ' . mysql_error());
            }

            $name_first = $_POST['name_first'];
            $name_last = $_POST['name_last'];
            $email = $_POST['email'];
            $gender = $_POST['gender'];
            $dominant_hand = $_POST['dominant_hand'];
            $dob = $_POST['dob'];
            $best_sport = $_POST['best_sport'];
            $golf_duration = $_POST['golf_duration'];
            $golf_score = $_POST['golf_score'];
            $golf_play = $_POST['golf_play'];
            $golf_practice = $_POST['golf_practice'];
            $golf_handicap = $_POST['golf_handicap'];

            $sql = "INSERT INTO Profile ". "(name_first, name_last, email, gender, dominant_hand, dob, best_sport, golf_duration, golf_score, golf_play, golf_practice, golf_handicap) ". "VALUES('$name_first','$name_last','$email', '$gender', 'dominant_hand', 'dob', 'best_sport', 'golf_duration', 'golf_score', 'golf_play', 'golf_practice', 'golf_handicap')";

            mysql_select_db('test_db');
            $retval = mysql_query( $sql, $conn );

            if(! $retval )
            {
               die('Could not enter data: ' . mysql_error());
            }

            echo "Entered data successfully\n";

            mysql_close($conn);
         }
    ?>

</body>
</html>

Any help would be appreciated! If it helps, I am using phpMyAdmin to manage my database...

Jay Blanchard
  • 34,243
  • 16
  • 77
  • 119
Liz
  • 1,369
  • 2
  • 26
  • 61
  • 2
    because of your initial conditional statement. Nothing in there will ever happen. – Funk Forty Niner Nov 03 '15 at 18:38
  • If you can, you should [stop using `mysql_*` functions](http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php). [These extensions](http://php.net/manual/en/migration70.removed-exts-sapis.php) have been removed in PHP 7. Learn about [prepared](http://en.wikipedia.org/wiki/Prepared_statement) statements for [PDO](http://php.net/manual/en/pdo.prepared-statements.php) and [MySQLi](http://php.net/manual/en/mysqli.quickstart.prepared-statements.php) and consider using PDO, [it's really not hard](http://jayblanchard.net/demystifying_php_pdo.html). – Jay Blanchard Nov 03 '15 at 18:50
  • [Your script is at risk for SQL Injection Attacks.](http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php) – Jay Blanchard Nov 03 '15 at 18:51

0 Answers0