eduard Posted April 4, 2011 Share Posted April 4, 2011 <html><body><?phpvar_dump($_POST);if(isset($_POST['price']) && isset($_POST['description']) && isset($_POST['quantity']))$con = mysql_connect("localhost","root","root");if (!$con)echo'successful form submission. initialize DB connection...';die('Could not connect: ' . mysql_error());mysql_select_db("Company", $con);$sql="INSERT INTO products (description, price, quantity) VALUES ('{$_POST["description"]}','{$_POST["price"]}','{$_POST["quantity"]}')";echo 'prepare for INSERT: ' . $sql;if (!mysql_query($sql,$con))die('Error: ' . mysql_error());echo 'one of more form fields missing';mysql_close($con);?></body></html><html><head><style type="text/css">#desc{width:10%;height:5%;}</style><title>POST</title></head><body><form action='insert.php' method="post">description: <input type="text" name="description" id="description"><br />price: <input type="text" name="price" id="price" /><br />quantity: <input type="text" name="quantity" id="quantity" /><input type='submit' value='submit' /></form></body></html>Is this the solution?so let's re-write it then. if you do this, what results do you get? and reply with code and any output.note: as mentioned before, this should be integrated into the previous form handling script we've been working on. so let me show you what we mean.CODE<?phpvar_dump($_POST);if(isset($_POST['price']) && isset($_POST['description']) && isset($_POST['quantity'])){ echo 'successful form submission. initialize DB connection...'; $con = mysql_connect("localhost","root","root"); if (!$con){ die('Could not connect: ' . mysql_error()); }; echo 'connection initialized...'; mysql_select_db("Company", $con); $sql="INSERT INTO Persons (description, price, quantity) VALUES ('$_POST[description]','$_POST[price]','$_POST[quantity]')"; echo 'prepare for INSERT: ' . $sql; if (!mysql_query($sql,$con)){ die('Error: ' . mysql_error()); }else{ echo "1 record added"; }; mysql_close($con);}else{ echo 'one of more form fields missing';};?> Link to comment Share on other sites More sharing options...
justsomeguy Posted April 4, 2011 Share Posted April 4, 2011 What happens when you run the code? Link to comment Share on other sites More sharing options...
thescientist Posted April 4, 2011 Share Posted April 4, 2011 not only that, but which set of code are you actually presenting to us to review? The HTML form and the second snippet of supplied PHP code? Link to comment Share on other sites More sharing options...
eduard Posted April 4, 2011 Author Share Posted April 4, 2011 The html form is ok, but when I fill in values in the html form opens (=not running) the insert.php file? Link to comment Share on other sites More sharing options...
thescientist Posted April 4, 2011 Share Posted April 4, 2011 So you're saying when you submit the form nothing happens after that point? Does it just go a blank screen or does it throw an error looking for the page? is your script called insert.php? Is everything running somewhere in the webroot? Are your file paths correct? Link to comment Share on other sites More sharing options...
eduard Posted April 4, 2011 Author Share Posted April 4, 2011 So you're saying when you submit the form nothing happens after that point? Does it just go a blank screen or does it throw an error looking for the page? is your script called insert.php? Is everything running somewhere in the webroot? Are your file paths correct?I wrote ´open the php file´ (so it does!) Link to comment Share on other sites More sharing options...
thescientist Posted April 4, 2011 Share Posted April 4, 2011 and so what's the problem? Link to comment Share on other sites More sharing options...
justsomeguy Posted April 4, 2011 Share Posted April 4, 2011 First, you have 2 different pieces of code posted. Which one are you actually running? Second, what specifically happens when you submit the form, what do you see on the page? Link to comment Share on other sites More sharing options...
eduard Posted April 4, 2011 Author Share Posted April 4, 2011 and so what's the problem?The problem is (seems logical to me!) my database doesn´t get any data! Link to comment Share on other sites More sharing options...
justsomeguy Posted April 4, 2011 Share Posted April 4, 2011 And you're seeing nothing on the page when you press submit? Nothing at all? No messages? Link to comment Share on other sites More sharing options...
jeffman Posted April 4, 2011 Share Posted April 4, 2011 Be aware that all your $_POST values are strings. If your fields expect other kinds of data, like an int, your INSERT will fail.What do your error messages tell you? Are you getting any, or just a blank screen? Link to comment Share on other sites More sharing options...
eduard Posted April 4, 2011 Author Share Posted April 4, 2011 First, you have 2 different pieces of code posted. Which one are you actually running? Second, what specifically happens when you submit the form, what do you see on the page?1 is insert.php2 is form.htmlAS WRITTEN BEFORE (2), THE PHP FILE OPENS=NOT RUNNING! Link to comment Share on other sites More sharing options...
eduard Posted April 4, 2011 Author Share Posted April 4, 2011 Be aware that all your $_POST values are strings. If your fields expect other kinds of data, like an int, your INSERT will fail.What do your error messages tell you? Are you getting any, or just a blank screen?No error meesages, only opening insert.php! Link to comment Share on other sites More sharing options...
justsomeguy Posted April 4, 2011 Share Posted April 4, 2011 Eduard, the first piece of code you posted combines a HTML form with some PHP code that doesn't look correct. The second piece of code you posted, after someone's comments that you also pasted, is only PHP code. It seems to me like the PHP code that is part of the form should either not be there, or be replaced with the other PHP code (assuming your form is called insert.php).Regardless, whatever happens, you should be getting error messages if the code fails. You're not showing any error messages, you're just saying that the file "opens" and "doesn't run". I usually mean "open" to say "runs", so when you say it opens but doesn't run I don't know what you mean. If it ran, and there was a problem, there should be an error message. Even if it ran without problems there would still be messages telling you what it's doing.So, now that we're 13 posts in and still don't have the actual problem defined, please give a list of steps you take and exactly what you see in the browser. Link to comment Share on other sites More sharing options...
eduard Posted April 4, 2011 Author Share Posted April 4, 2011 Eduard, the first piece of code you posted combines a HTML form with some PHP code that doesn't look correct. The second piece of code you posted, after someone's comments that you also pasted, is only PHP code. It seems to me like the PHP code that is part of the form should either not be there, or be replaced with the other PHP code (assuming your form is called insert.php).Regardless, whatever happens, you should be getting error messages if the code fails. You're not showing any error messages, you're just saying that the file "opens" and "doesn't run". I usually mean "open" to say "runs", so when you say it opens but doesn't run I don't know what you mean. If it ran, and there was a problem, there should be an error message. Even if it ran without problems there would still be messages telling you what it's doing.So, now that we're 13 posts in and still don't have the actual problem defined, please give a list of steps you take and exactly what you see in the browser.Yes, you´re right! I am too stressed, I have to go I´ll look at it later! (Time is always my problem, but this will change!) Link to comment Share on other sites More sharing options...
eduard Posted April 5, 2011 Author Share Posted April 5, 2011 What´s wrong with this insert.php file? <html><body><?phpvar_dump($_POST);if(isset($_POST['price']) && isset($_POST['description']) && isset($_POST['quantity']))$con = mysql_connect("localhost","root","root");if (!$con)echo'successful form submission. initialize DB connection...';die('Could not connect: ' . mysql_error());mysql_select_db("Company", $con);$sql="INSERT INTO products (description, price, quantity) VALUES ('$_POST[description]','{$_POST[price]}','$_POST[quantity]')";echo 'prepare for INSERT: ' . $sql;if (!mysql_query($sql,$con))die('Error: ' . mysql_error());echo 'one of more form fields missing';mysql_close($con);?></body></html>These are the errors I get:array(0) { } Notice: Undefined variable: con in /Applications/MAMP/htdocs/website/insert.php on line 9successful form submission. initialize DB connection...Could not connect: Link to comment Share on other sites More sharing options...
thescientist Posted April 5, 2011 Share Posted April 5, 2011 hasn't this exact same topic already been discussed?http://w3schools.invisionzone.com/index.php?showtopic=37042I absolutely guarantee that a complete answer (actually multiple answers provided by multiple members) has been given to you in that thread. Please try and read it thoroughly and you will find it too, with no more knowledge required then what you already have. Link to comment Share on other sites More sharing options...
eduard Posted April 5, 2011 Author Share Posted April 5, 2011 hasn't this exact same topic already been discussed?http://w3schools.invisionzone.com/index.php?showtopic=37042I absolutely guarantee that a complete answer (actually multiple answers provided by multiple members) has been given to you in that thread. Please try and read it thoroughly and you will find it too, with no more knowledge required then what you already have.Yes, but that thread is closed by you! Link to comment Share on other sites More sharing options...
thescientist Posted April 5, 2011 Share Posted April 5, 2011 I'm not a moderator, so that wasn't me. It was justsomeguy, who is a moderator. All I was trying to say is that answer is in there (and I mean literally, as in the post says... 'this is the answer', and explanations for each solution were covered, and what they were doing, plus all the tutorials were cited in the appropriate places..... which means all you have to do is re-read it slowly and carefully, and you'll find the answer to your question.edit: speaking of that thread, did you try any of the advice that justsomeguy gave you? Eduard, if you really want to learn PHP I recommend you buy and study this book:http://oreilly.com/catalog/9780596006815One of the authors is the creator of PHP, and that book is known as being a great intro for people starting with PHP. You should read that book from cover to cover, more than once if necessary, if you really want to learn this stuff as quickly as possible. You may be able to find a copy in Dutch or Spanish if you prefer. Link to comment Share on other sites More sharing options...
eduard Posted April 5, 2011 Author Share Posted April 5, 2011 I'm not a moderator, so that wasn't me. It was justsomeguy, who is a moderator. All I was trying to say is that answer is in there (and I mean literally, as in the post says... 'this is the answer', and explanations for each solution were covered, and what they were doing, plus all the tutorials were cited in the appropriate places..... which means all you have to do is re-read it slowly and carefully, and you'll find the answer to your question.edit: speaking of that thread, did you try any of the advice that justsomeguy gave you?Ok, let´s find the answer! Link to comment Share on other sites More sharing options...
thescientist Posted April 5, 2011 Share Posted April 5, 2011 and just for the record, these are the moderators.http://w3schools.invisionzone.com/index.ph...mp;CODE=leaders Link to comment Share on other sites More sharing options...
eduard Posted April 5, 2011 Author Share Posted April 5, 2011 This error message I get after reading post 201, Explain nr. 3?:Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /Applications/MAMP/htdocs/website/insert.php on line 7<html><body><?phpvar_dump($_POST);if(isset($_POST["price']) && isset($_POST['description']) && isset($_POST['quantity'])){echo "succesful form submission. initialize DB connection .....";$con = mysql_connect("localhost","root","root");if (!$con){die('Could not connect: ' . mysql_error());};echo "connection initialized.....";{mysql_select_db("Company", $con);$sql="INSERT INTO products (description, price, quantity) VALUES ('$_POST[description]','$_POST[price]','$_POST[quantity]')";echo 'prepare for INSERT: ' . $sql;if (!mysql_query($sql,$con)){die('Error: ' . mysql_error());}else{echo "1 record added";};mysql_close($con);{echo "one or more form fields missing";};?></body></html>I neither don´t understand the latest echo! (mysql is closed!) Link to comment Share on other sites More sharing options...
ShadowMage Posted April 5, 2011 Share Posted April 5, 2011 You have mismatched quotes:if(isset($_POST["price'])These are very simple errors. Even if you don't understand what the errors mean, you can usually find the error by looking at or around the line it points you to. Most (if not all) of the errors you've posted are simple syntax errors.EDIT:I think you might also be missing an 'else' here:mysql_close($con);{echo "one or more form fields missing";};should be:mysql_close($con);} else {echo "one or more form fields missing";}; Link to comment Share on other sites More sharing options...
thescientist Posted April 5, 2011 Share Posted April 5, 2011 there's an extra { after echo 'connection initialized'; Link to comment Share on other sites More sharing options...
thescientist Posted April 5, 2011 Share Posted April 5, 2011 try posting your code with indents and formatting. It makes it easier for other's to read and will help you see when you have extraneous characters in your script. Also, be mindful that you include error message, confirming the actual line (like this code here) is line 7. If we indent/format your code, let's see how it looks. <html><body><?phpvar_dump($_POST);if(isset($_POST["price']) && isset($_POST['description']) && isset($_POST['quantity'])){ echo "succesful form submission. initialize DB connection ....."; $con = mysql_connect("localhost","root","root"); if (!$con){ die('Could not connect: ' . mysql_error()); }; echo "connection initialized....."; { mysql_select_db("Company", $con); $sql="INSERT INTO products (description, price, quantity) VALUES ('$_POST[description]','$_POST[price]','$_POST[quantity]')"; echo 'prepare for INSERT: ' . $sql; if (!mysql_query($sql,$con)){ die('Error: ' . mysql_error()); }else{ echo "1 record added"; }; mysql_close($con);{echo "one or more form fields missing";};?></body></html> it should be clear if you review the actual post that you are referring to.<?phpvar_dump($_POST);if(isset($_POST['price']) && isset($_POST['description']) && isset($_POST['quantity'])){ echo 'successful form submission. initialize DB connection...'; $con = mysql_connect("localhost","root","root"); if (!$con){ die('Could not connect: ' . mysql_error()); }; echo 'connection initialized...'; mysql_select_db("Company", $con); $sql="INSERT INTO Persons (description, price, quantity) VALUES ('$_POST[description]','$_POST[price]','$_POST[quantity]')"; echo 'prepare for INSERT: ' . $sql; if (!mysql_query($sql,$con)){ die('Error: ' . mysql_error()); }else{ echo "1 record added"; }; mysql_close($con);}else{ echo 'one of more form fields missing';};?> edit: I mean, now we're just talking about copy/paste. Doesn't get much more basic/simpler than that... Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.