简体   繁体   中英

php pass and get parameter

<?php $daerah_ejen1 = "$_GET[daerah_ejen]";
$kumpulan_ejen1 ="$_GET[kumpulan_ejen]";

echo $daerah_ejen1;
echo $kumpulan_ejen1;
echo $kumpulan_ejen;

$sql= "SELECT * FROM data_ejen WHERE daerah_ejen= '$daerah_ejen1' AND kumpulan_ejen='Ketua Kampung' ORDER BY nama_ejen";
$result = mysql_query($sql) or @error_die("Query failed : $sql " . mysql_error());
?>

my url

laporan_kk_detail.php?daerah_ejen=HULU+LANGAT&kumpulan_ejen=Ketua Kampung

for output daerah_ejen variable has display, but for kumpulan_ejen / kumpulan_ejen1 is not display.

i dont know where the problem

your quotes accessing $_GET variable is invalid. try this

<?php 
  $daerah_ejen1 = $_GET["daerah_ejen"];
  $kumpulan_ejen1 =$_GET["kumpulan_ejen"];

and you should read something about security, because you can pass malicous code to your script!

edit:// you can have a look on this thread https://stackoverflow.com/questions/19539692/sanitizing-user-input-php

you are converting get values in string using double quotes so remove and try

$daerah_ejen1 = $_GET['daerah_ejen'];
$kumpulan_ejen1 =$_GET['kumpulan_ejen'];

also use mysql_real_escape_string() for prevent sql injection.

If you need to put the $_GET['name'] in double quotes, wrap it in {} brackets.

eg

$kumpulan_ejen1 ="{$_GET['kumpulan_ejen']}";

Also, as dbh pointed out, you only have $kumpulan_ejen1 , not kumpulan_ejen .

  1. The quotes go around the parameter name. This is because $_GET[] is an associative array and its values are referenced using a string key

    $daerah_ejen1 = $_GET['daerah_ejen'];

    $kumpulan_ejen1 =$_GET['kumpulan_ejen'];

  2. Always sanitize your parameter values before using them in a query to protect yourself against SQL injection.

    $daerah_ejen1 = mysqli::real_escape_string($daerah_ejen1)

You face 2 problem on your code :

1st is :

$daerah_ejen1 = "$_GET[daerah_ejen]";
$kumpulan_ejen1 ="$_GET[kumpulan_ejen]";

replace it by this :

 $daerah_ejen1 = $_REQUEST['daerah_ejen'];
$kumpulan_ejen1 =$_REQUEST['kumpulan_ejen'];

2nd is :

$sql= "SELECT * FROM data_ejen WHERE daerah_ejen= '$daerah_ejen1' AND kumpulan_ejen='Ketua Kampung' ORDER BY nama_ejen";

replace it by this :

$sql= "SELECT * FROM data_ejen WHERE daerah_ejen= '".$daerah_ejen1. "' AND kumpulan_ejen='Ketua Kampung' ORDER BY nama_ejen";

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM