PHP variabeln falsch übergeben?

Blackbenji

Lieutenant
Registriert
Nov. 2009
Beiträge
565
hallo,

ich häng mal wieder fest:
also ich habe folgenden ansatz:

PHP:
	if(isset($_GET['action']))
	{
		$action = $_GET['action'];
		
		# CONTENT
		if ($action == .....

so und nun zum speziellem teil:

PHP:
		} elseif ($action == "insert") {
			$interpret = $_GET['interpret'];
			$titel = $_GET['titel'];
			# anfrage noch einbauen, ob werte == null
			echo $titel.$interpret;
			mysql_query("INSERT INTO $POSTS(titel,interpret)VALUES('$titel','$interpret')");
			mysql_close();
			include PATH_TPL . "/tpl.insert.vm";
			
		} else {

die idee ist folgende:
via ?action=xxx steuere ich eine aktion im php code an. funktioniert soweit auch.
nun habe ich aber via html form 2 felder abgeschickt und möchte diese verarbeiten.

PHP:
 <form method="post" action="?action=insert">

 <input type="text" name="interpret" value="interpret"><br>

 <input type="text" name="titel" value="titel"><br>

 <input type="submit" name="button" value=" OK ">

 </form>

sieht dann so aus.

mein problem:

echo $titel.$interpret;

sind leer :-(
 
Die Form übergibst du via method="post", also musst du in PHP mit $_POST arbeiten. $_GET bezieht sich nur auf Variablen in der URL. Du könntest alternativ $_REQUEST abfragen, was $_GET und $_POST einschließt, allerdings würde ich das wegen der Sicherheit (falls Daten in $_GET und $_POST kommen könnten) nicht benutzen.
 
Bei dem Formular: method="post" in method="get" ändern.
Oder $_GET in $_POST ändern.

Viel Spaß ;)
 
Ungeprüfte Übernahme von $_GET bzw $_POST Werten in Mysqlabfragen :)

Klasse Sache, willkommen SQL-Injection :)
 
Es gibt im Internet immer noch genug Negativbeispiele (inkl. SQL-Injection) für Anfänger...
Ein vernünftiger Hinweis mit Referenz hätte doch genügt. Eingaben sollten gefiltert/überprüft werden und vor übergabe in die Datenbank durch mysql_real_escape_string() gefiltert werden.
 
Zurück
Oben