marcus
marcus

Reputation: 83

form data will not go into my database no errors are displayed

I have insert product category form where you can input a title and description, when I fill the form out my alert message does not work and the data is not inserted into my database, but my window.open command works and it shows the inputs I entered. The file is included into a index.php which has the database connection. Also no errors are displayed.

phpmyadmin

Note: The below code is all in one file I have just split it up

<?php
if(!isset($_SESSION['admin_email'])){
    echo "<script>window.open('login.php','_self')</script>";
}else{
?>

<div class="row"><!-- row 1 Begin -->
	<div class="col-lg-12"><!-- col-lg-12 Begin -->
		<ol class="breadcrumb"><!--  breadcrumb Begin -->
			<li><!--  li Begin -->
				<i class="fa fa-dashboard"></i> Dashboard / Insert Product Category
			</li><!--  li Finished -->
		</ol><!--  breadcrumb Finished -->
	</div><!-- col-lg-12 Finished -->
</div><!-- row 1 Finished -->
<div class="row"><!-- row 2 Begin -->
	<div class="col-lg-12"><!-- col-lg-12 Begin -->
		<div class="panel panel-default"><!-- panel panel-default Begin -->
			<div class="panel-heading"><!-- panel-heading Begin -->
				<h3 class="panel-title"><!-- panel-title Begin -->
					<i class="fa fa-money fa-fw"></i> Insert Product Category
				</h3><!-- panel-title Finished -->
			</div><!-- panel-heading Finished -->
			<div class="panel-body"><!-- panel-body Begin -->
				<form action="" class="form-horizontal"><!-- form-horizontal Begin -->
					<div class="form-group"><!-- form-groups Begin -->
						<label for="" class="control-label col-md-3"><!-- control-label col-md-3 Begin -->		Product Category Title
						</label><!-- control-label col-md-3 Finished -->
						<div class="col-md-6"><!-- col-md-6 Begin -->
							<input name="p_cat_title" type="text" class="form-control">
						</div><!-- col-md-6 Finished -->
					</div><!-- form-groups Finished -->
					<div class="form-group"><!-- form-groups Begin -->
						<label for="" class="control-label col-md-3"><!-- control-label col-md-3 Begin -->		Product Category Description
						</label><!-- control-label col-md-3 Finished -->
						<div class="col-md-6"><!-- col-md-6 Begin -->
							<textarea type="text" name="p_cat_desc" id="" cols="30" rows="10" class="form-control"></textarea>
						</div><!-- col-md-6 Finished -->
					</div><!-- form-groups Finished -->
					<div class="form-group"><!-- form-groups Begin -->
						<label for="" class="control-label col-md-3"><!-- control-label col-md-3 Begin -->		
						</label><!-- control-label col-md-3 Finished -->
						<div class="col-md-6"><!-- col-md-6 Begin -->
							<input value="Submit" name="submit" type="submit" class="form-control btn btn-primary">
						</div><!-- col-md-6 Finished -->
					</div><!-- form-groups Finished -->
				</form><!-- form-horizontal Finished -->
			</div><!-- panel-body Finished -->
		</div><!-- panel panel-default Finished -->
	</div><!-- col-lg-12 Finished -->
</div><!-- row 2 Finished -->

<?php
if (isset($_POST['submit'])) {
    $p_cat_title = $_POST['p_cat_title'];
    $p_cat_desc = $_POST['p_cat_desc'];
    $insert_p_cat = "insert into product_categories (p_cat_title,p_cat_desc) values ('$p_cat_title,$p_cat_desc')";
    $run_p_cat = mysqli_query($con,$insert_p_cat);
    if ($run_p_cat) {
        echo "<script>alert('Your New Product Category Has Been Added')</script>";
        echo "<script>window.open('index.php?view_p_cats','_self')</script>";
    }
}?> <?php } ?>

Upvotes: 0

Views: 91

Answers (2)

nicholas krisna
nicholas krisna

Reputation: 21

try change to change

('$p_cat_title,$p_cat_desc')

to

('$p_cat_title','$p_cat_desc')

i think you forget to add ' in the end of variable that make only one value got inserted

Upvotes: 0

Jack Skeletron
Jack Skeletron

Reputation: 1501

If not specified the method of <form> is GET so if (isset($_POST['submit'])) is false.

You should add method POST to your form tag

<form method="POST" action="index.php">

Upvotes: 1

Related Questions