illuz1on Posted April 26, 2007 Share Posted April 26, 2007 Hey I have this piece of code which is supposed to just add a guide into a database, but it doesnt ADD it it just reloads the page and doesnt send any error/confirmation... please guide me to where I am wrong Thanks guys <?php include("db.php"); ?> <html> <body> Add Guide <form action="<?php echo $PHP_SELF ?>" method="post"> <b> Guide Name</b> <BR /> <input type="text" name="name" size="40" maxlength="80" value="" /> <br /> <b>Link</b> <BR /> <input type="text" name="link" size="40" maxlength="80" value="" /> <br /> <input type="submit" value="Add Guide" /> <input type="reset" value="Reset" /> </form> <? if($submit) { $name = $_POST["name"]; $link = $_POST["link"]; $addnews =MYSQL_QUERY("INSERT INTO guides (id,name,link)". "VALUES ('NULL', '$name', '$link')"); echo("Guide on: $name - Added!<br>No errors were encountered!<br>"); echo("<a href=\"guidesoverview.php\">Guides Overview</a> | <a href=\"admin.php\">Back to Admin</a>"); } ?> </body> </html> Link to comment https://forums.phpfreaks.com/topic/48787-adding-guide-to-database/ Share on other sites More sharing options...
MadTechie Posted April 26, 2007 Share Posted April 26, 2007 code looks ok $addnews =mysql_query("INSERT INTO guides (name,link) VALUES ('$name', '$link')") oe die(mysql_error()); Link to comment https://forums.phpfreaks.com/topic/48787-adding-guide-to-database/#findComment-239096 Share on other sites More sharing options...
onlyican Posted April 26, 2007 Share Posted April 26, 2007 Where shall I begin if($submit) Very very bad I can not see $submit Anywhere on your code You need to call $_POST["submit"] Although there are no form fields called submit NEXT I am guessing ID is a auto_increment field, You do NOT need add in the query null fields Nor do you need to break out of PHP String. 3rd: MYSQL_QUERY is a function and should to be lower case Last Please add some security before adding to DB REWRITE <?php include("db.php"); ?> <html> <body> Add Guide <form action="" method="post"> <b> Guide Name</b> <BR /> <input type="text" name="name" size="40" maxlength="80" value="" /> <br /> <b>Link</b> <BR /> <input type="text" name="link" size="40" maxlength="80" value="" /> <br /> <!-- NOTE the name field for the submit button --> <input type="submit" name="submit_btn" value="Add Guide" /> <input type="reset" value="Reset" /> </form> <?php //Try not to use shorthand, rumours saying this will be stopped soon //This is quick hand on IF statement //IF submit_btn is found, the form is submitted, label $Submit true, else it is false $Submit = isset($_POST["submit_btn"]) ? true : false; //If Submit, same as saying if($Submit == true) if($Submit){ //Secure the values, save from MySQL Injection $name = mysql_real_escape_string($_POST["name"]); $link = mysql_real_escape_string($_POST["link"]); //Easy to debug $query = "INSERT INTO guides (name, link) VALUES ('".$name."', '".$link."')"; $result = mysql_query($query); //If the query failed, result would be false if($result){ echo "Guide on: $name - Added!<br>No errors were encountered!<br>\n" ."<a href='guidesoverview.php'>Guides Overview</a> | <a href='admin.php'>Back to Admin</a>"; }else{ echo "There has been an error<br />\n"; } //Also note IF statements, the END bracket is inline with the statement //All code for that statement is indented, easier to read. } ?> </body> </html> Link to comment https://forums.phpfreaks.com/topic/48787-adding-guide-to-database/#findComment-239102 Share on other sites More sharing options...
MadTechie Posted April 26, 2007 Share Posted April 26, 2007 lol i didn't spot the if($submit), Link to comment https://forums.phpfreaks.com/topic/48787-adding-guide-to-database/#findComment-239127 Share on other sites More sharing options...
illuz1on Posted April 26, 2007 Author Share Posted April 26, 2007 great help thanks alot! Link to comment https://forums.phpfreaks.com/topic/48787-adding-guide-to-database/#findComment-239206 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.