hi, I am a student and i am new at this, i need some help to link some forms to mysql database in a wamp server. I keep getting an error message of "Parse error: parse error, expecting `']'' in ...........on line 10". This is my code <html> <body> <body bgcolor="22ff99"> <br><br><br><br><br><br><br><br><br> <form action="inserting into table.php" method="post"> <table cellspacing="5" cellpadding="7" border="0"> <td align="right">Firstname</td> <td colspan="2"><input type="text" name="firstname"></td> </tr> <tr> <td align="right">Surname</td> <td colspan="2"><input type="text" name="surname"></td></tr> <tr> <td align="right">Address</td> <td><input type="text" name="address"></td> <td colspan="2"> </td> </tr> <tr> <td align="right">Date of birth</td> <td colspan="2"><input type="text" name="date of birth"></td> </tr> <tr> <td align="right">Gender</td> <td>Male<input type="radio" name="sex" value="male"></td> <td>Female<input type="radio" name="sex" value="female"></td> </tr> <tr> <td align="right">E-mail</td> <td><input type="text" name="E-mail"></td> <tr> <td align="right">Username:</td> <td colspan="2"><input type="text" name="username"></td> </tr> <tr> <td align="right">Password</td> <td colspan="2"><input type="password" name="password"></td> </tr> <tr> <td align="right">Comfirm <br>password <td colspan="2"><input type="password" name="comfirm password"></td></tr> <tr> <td align="right"><input type="submit" value="submit"></td> <td align="left"><button type="reset" value="reset">reset</button></td> </tr> </table> </form> </body> </html> the php file looks like this: <?php $con = mysql_connect("localhost","root",""); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("trinitech", $con); $sql="INSERT INTO users (FirstName, Surname, Address, Date Of Birth, Your Gender, E-mail, Username, Password) VALUES ('$_POST[firstname]','$_POST[Surname]','$_POST[Address]','$_POST[Date Of Birth]','$_POST[Gender]','$_POST[E-mail]','$_POST[Username]','$_POST[Password]')"; if (!mysql_query($sql,$con)) { die('Error: ' . mysql_error()); } echo "Thank you '$_POST[lastname]' , your information has been recorded"; mysql_close($con) ?>
Hi, Your php code goes wrong. Seems you did not use quotes with $_post function in a right way. As an example; False: $query = "Hi $_POST['name']"; True : $query = "Hi ".$_POST['name'].""; If you see the difference you have to understand that this functions like ($_post, $_get, $_server etc.) can not be used as any variable in quotes. And usage for $_POST is: $_POST['post_name'] Simply you have to highlight em so php can understand that its not a string its a function. Also some tips; 1. Dont use blanks on web. In filenames, in database names, in table names, in column names. Never ever ever ever never ever whatever Dont use blanks. 2. Also dont use blanks in html codes that defines a name like "Date Of Birth" 3. Use ` for columns, tables. Ex: INSERT INTO `users` (`username`, `password`) VALUES ('$username', '$password') 4. And one more thing; use variables for functions. Ex: $name = $_POST['name']; $surname = $_POST['surname']; Hope it helps you. Good luck.
Example of insert data in only three column, if it works than you can follow and add other column name same like this. Take of filed types, below will work only if your fields are character type. Post if you got any error. Replace this line $sql="INSERT INTO users (FirstName, Surname, Address, Date Of Birth, Your Gender, E-mail, Username, Password) VALUES ('$_POST[firstname]','$_POST[Surname]','$_POST[Address]','$_POST[Date Of Birth]','$_POST[Gender]','$_POST[E-mail]','$_POST[Username]','$_POST[Password]')"; Code (markup): With $sql="INSERT INTO users (FirstName, Surname, Address) VALUES ('" ; $sql = $sql . $_POST['firstname']. "','"; $sql = $sql . $_POST['Surname']."','"; $sql = $sql . $_POST['Address']."'"; Code (markup): Just replace the $sql line and try this.