Duplication – php code duplicates row in MySQL – What is wrong?
-
Hello community!
I am having an issue with my php form code. It adds the same row twice within my MySQL database. Anybody know what is wrong with the code?
add_shortcode('map_location_report','map_location_report_form'); function map_location_report_form() { global $wpdb; $this_page = $_SERVER['REQUEST_URI']; $page = $_POST['page']; if ( $page == NULL ) { echo '<form method="post" action="' . $this_page .'"> <div class="formfield-report" id="formfield-report-firstname"> <label for="first_name" id="first_name">Navn: </label> <input type="text" name="first_name" id="first_name" /> </div> <div class="formfield-report" id="formfield-report-lastname"> <label for="last_name" id="last_name">Efternavn: </label> <input type="text" name="last_name" id="last_name" /> </div> <div class="formfield-report" id="formfield-report-locationtype"> <label for="report_type " id="report_type ">Rapport type: </label> <select name="report_type " /> <option value="sigtmelding" selected>Sigtmelding</option> <option value="fangstrapport">Fangstrapport</option> <option value="jagtomraade">Jagtområde</option> </select> </div> <div class="formfield-report" id="formfield-report-latitude"> <label for="location_latitude" id="location_latitude">Breddegrad: </label> <input type="text" name="location_latitude" id="location_latitude" /> </div> <div class="formfield-report" id="formfield-report-longitude"> <label for="location_longitude" id="location_longitude">Længdegrad: </label> <input type="text" name="location_longitude" id="location_longitude" /> </div> <input type="hidden" value="1" name="page" /> <div id="formfield-report-button"> <input class="btn btn-default submit-form-button" type="Submit" /> </div> </form>'; } elseif ( $page == 1 ) { $first_name = $_POST['first_name']; $last_name = $_POST['last_name']; $report_type = $_POST['report_type ']; $location_latitude = $_POST['location_latitude']; $location_longitude = $_POST['location_longitude']; $page_one_table = 'maplocationreports'; $page_one_inputs = array ( 'first_name' => $first_name, 'last_name' => $last_name, 'report_type ' => $report_type , 'location_latitude' => $location_latitude, 'location_longitude' => $location_longitude, 'page' => $page ); $insert_page_one = $wpdb->insert($page_one_table, $page_one_inputs); echo '<h3>Mange tak for dit bidrag!</h3>'; echo '<p>Der er sat stor pris på at du har taget dig tid til at registrere et punkt på kortet!</p>'; } };CREATE TABLEmaplocationreports` (
id INT( 7 ) NOT NULL AUTO_INCREMENT,
first_name VARCHAR( 50 ) NOT NULL,
last_name VARCHAR( 50 ) NOT NULL,
report_type VARCHAR( 20 ) NOT NULL,
location_latitude VARCHAR( 12 ) NOT NULL,
location_longitude VARCHAR( 12 ) NOT NULL,
page INT( 1 ) NOT NULL,
timestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY ( id )
)`Thanks in advance!
The topic ‘Duplication – php code duplicates row in MySQL – What is wrong?’ is closed to new replies.