tomolpi
Goto Top

MySQL-Abfrage mit php: Wert + true bzw. false

Moin Leute,

Frage an die PHP-Experten:
mit
  <?php
if($_SERVER['REQUEST_METHOD']=='GET'){  
$sid = $_GET['sid'];  
require_once('dbconnect.php');  
$sql = "SELECT * FROM table WHERE sid='".$sid."'";  
$r = mysqli_query($con,$sql);
$res = mysqli_fetch_array($r);
$result = array();
array_push($result,array(
"sname"=>$res['sname']  
)
);
echo json_encode(array("result"=>$result));  
mysqli_close($con);
}

bekomme ich über data.php?id=123 den passenden Wert, in diesem Fall hans.

sname sid spasswort
hans 123 geheim
rolf 124 geheimnis

Da das ganze hinterher in meiner App weiterverarbeitet wird, brauche ich das als JSON.

Jetzt ist zusätzlich noch eine Passwortabfrage dazugekommen.

Die App sendet also data.php?id=123&passwort=geheim

Wie muss das php dann aussehen, um mir

bei richtigem Passwort zur sid ein true zu geben
bei falschen Passwort zur sid ein false zu geben
im JSON
 {"result":[{  
"sname":"hans"  
}, 
"spasswort":"geheim"  
]}

zu geben?

Danke und Grüsse,

tomolpi

Content-ID: 313455

Url: https://administrator.de/contentid/313455

Ausgedruckt am: 21.11.2024 um 19:11 Uhr

Stefan007
Stefan007 24.08.2016 um 20:43:18 Uhr
Goto Top
Mahlzeit,

nimmt man da nicht statt "GET" "POST" ?
StefanKittel
StefanKittel 24.08.2016 um 21:27:46 Uhr
Goto Top
Hallo,

1. Sicherheitstechnisch ist Dein System der Albtraum.
Du musst dringend die Inputs filtern und escapen damit da nicht Jemand MySQL-Code einschleust.
Gehe davon aus, dass Jemand da Schweinkram reinschreibt.

Auch ein Schutz gegen Brute-Force, IP-Blocking, etc wäre schön.

2. Du machst eine ganz einfache Abfrage mit (
WHERE ((sid='.$sid.') AND (spassword='.$passwort.'))

Das result wandelst Du mit json_encode in json um.
Wenn die Felder nicht stimmen einfach ein Transfer-Array verwenden.

Stefan