Diana Madeira Posted April 12, 2017 at 10:27 PM Report #603603 Posted April 12, 2017 at 10:27 PM (edited) Olá tenho o seguinte código em HTML e PHP mas quando submeto aparece-me o seguinte erro: Undefined index: Authorsname in /home/unn_w17015779/public_html/addDataAdmin.php on line 11. Ficaria muito grata se me pudessem ajudar. Obrigado desde já Código HTML: <html> <head> <title> Add new record!</title> </head> <body> <?php include 'addDataAdmin.php';?> <form action="addDataAdmin.php" method="POST"> <p>ISBN</p> <input type="text" name="ISBN"> <p>Author's Name</p> <input type="text" name="authorName"> <p>Title</p> <input type="text" name="title"> <p>Edition</p> <input type="text" name="edition"> <p>Year</p> <input type="text" name="year"> <p>Category</p> <select name="category" size="1"> <option value="computing">Computing</option> <option value="Romance">Romance</option> <option value="Fiction">Fiction</option> <option value="Non-Fiction">Non-Fiction</option> </select> <br /> <p>Publisher</p> <input type="text" name="publisher"> <p>Quantity-in-stock</p> <input type="text" name="quantity-in-stock"> <p>Price</p> <input type="text" name="price"> <input type="submit" value="Upload Image" name="submit"> <input type="submit" value="Send" name="send"> <input type="reset" value="Clear"> </form> </body> </html> Código PHP <?php //$_SESSION['message'] =''; include("config.php"); if($_SERVER['REQUEST_METHOD'] == 'POST') { if(isset($_POST['send'])){ $ISBN= $conn->real_escape_string($_POST['ISBN']); $Authorsname=$conn ->real_escape_string($_POST['Authorsname']); $Title= $conn ->real_escape_string($_POST['Title']); $edition= $conn ->real_escape_string($_POST['edition']); $year= $conn->real_escape_string($_POST['year']); $publisher= $conn->real_escape_string($_POST['publisher']); $quantityinstock= $conn->real_escape_string($_POST['quantityinstock']); $price= $conn->real_escape_string($_POST['price']); $query =mysqli_query($conn,"SELECT * FROM books WHERE ISBN ='".$ISBN."'"); if (mysqli_num_rows($query)>0){ echo "ISBN already exists"; }else{ $sql= "INSERT INTO books (ISBN, Authorsname, Title, edition, year, category, publisher, quantityinstock, price) VALUES('".$_POST['ISBN']."','".$_POST['authorName']."', '".$_POST['title']."', '".$_POST['edition']."', '".$_POST['year']."', '".$_POST['category']."', '".$_POST['publisher']."','".$_POST['quantity-in-stock']."','".$_POST['price']; $result = mysqli_query($conn,$sql); echo '<h3><font color="red">You have successfully updated </font></h3>'; } } } ?> Edited April 12, 2017 at 11:07 PM by Diana Madeira
Diana Madeira Posted April 12, 2017 at 11:08 PM Author Report #603604 Posted April 12, 2017 at 11:08 PM melhorei a sql query da seguinte forma e mesmo assim aparece o mesmo erro. $sql= "INSERT INTO books (ISBN, Authorsname, Title, edition, year, category, publisher, quantityinstock, price) VALUES('".$ISBN."','".$Authorsname."', '".$Title."', '".$edition."', '".$year."', '".$publisher."', '".$quantityinstock."','".$price."')";
devgoncalo Posted April 13, 2017 at 08:42 AM Report #603613 Posted April 13, 2017 at 08:42 AM ola depois de if(isset($_POST['send'])){ coloca print_r("<pre>"); var_dump($_POST); print_r("</pre>"); no html tens <input type="text" name="authorName"> mas no PHP tens $_POST['Authorsname'] cumps
Diana Madeira Posted April 13, 2017 at 10:34 AM Author Report #603616 Posted April 13, 2017 at 10:34 AM Obrigado já não aparece nenhum erro mas não esta a inserir nenhuma informação na base de dados, porque sera?
devgoncalo Posted April 13, 2017 at 01:07 PM Report #603620 Posted April 13, 2017 at 01:07 PM ola no teu código existem várias coisas que podiam ser feitas de outra forma, mas já deu para perceber que ainda estás a iniciar e uma pessoa tem de começar por algum lado. dito isto, quando programas vais fazer muitos erros, é normal, toda a gente faz, por isso uma das coisas mais importantes é perceber o fluxo da informação de modo a encontrar o problema mais facilmente. saberes de onde a informação vem, para onde vai, de que maneira é processada etc. tens que fazer debug. neste caso especifico, queres inserir dados na base de dados, através do mysqli. já estiveste a ver a documentação? existe uma função que talvez de ajude http://php.net/manual/en/mysqli.error.php. recomendo também: http://www.phptherightway.com/. e outra coisa, quando estás a fazer um projecto, questiona sempre se o que estás a fazer naquele momento é a melhor maneira de o fazer. cumps
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now