0

I'm a bit stuck with one of my task which is to require a user input for an 'ID no' and it shall go through a table in my WP and display the result on the same page (after hitting Submit).

I'm currently using the Code Snippets plugin to insert this PHP code into one of my WP page. However, as of now, when I input a valid IC/ID no. into the input field, it doesn't seem to return anything.

Am I doing something wrong on the form part? Please enlighten. Thanks!

<?php

$name=$_POST["ICNo"];

global $wpdb;
$resultsap = $wpdb->get_results('SELECT * FROM `wp_apelc_users` WHERE `icno` = .$name.');
foreach($resultsap as $row) {
    echo 'Name: '.$row->name.', Status: '.$row->status.'<br/>';
}

?>

<form method="post">
  <div>
    Your IC No: <input type="text" name="ICNo">
    <input type="submit" name="submit" value="Submit" >
  </div>
</form>
  • FYI, the table and columns are valid. If I omit the form part and only display the query, it works. – Vicky Aug 1 '19 at 10:31
  • 1
    That .$name. is invalid, and you're not using double quotes ("), and you should use $wpdb->prepare(). – Sally CJ Aug 1 '19 at 10:39
  • Thanks Sally, do you know what I should use in the query that defines 'an input from the user'? So meaning to say, I should write something like ".$name." ? – Vicky Aug 1 '19 at 10:44
  • 1
    Yes, that would work. But once again, I highly suggest you to use $wpdb->prepare() to avoid SQL injections (and other security issues) - $wpdb->get_results( $wpdb->prepare( "SELECT * FROM wp_apelc_users WHERE icno = %s", $name ) ). – Sally CJ Aug 1 '19 at 12:12
0

use this snippet it works

<?php if(isset($_POST["ICNo"])) {
global $wpdb;
$name = $_POST["ICNo"];
 $resultsap = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM wp_apelc_users WHERE icno = %s", $name ) );
foreach ($resultsap as $row) {
echo 'Name: ' . $row->name;
}
}
?>
<form method="post">
<div>
Your IC No: <input type="text" name="ICNo">
<input type="submit" name="submit" value="Submit" >
</div>
</form>
  • 1
    You should not use $name this way, SallyCJ has already written about it. – nmr Aug 1 '19 at 12:23
  • ok i have updated my answer – Oscprofessionals Aug 1 '19 at 12:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.