probleme mit übergabeformatierung formular->php->mysql

Newcomer1

Mitglied
hallo leute

vielleicht könnt ihr mir in folgendem punkt helfen bzw. einen denkanstoß geben:
ich programmiere für einen kunden eine datenbank zur hausaufgabenverwaltung online mit php u. mysql. nichts großartiges, lediglich als pilotprojekt für einige wenige schüler.

mein problem:

vom formular werden via $_post die daten des ausgewählten schülers übergeben und in die Datenbank geschrieben.

wenn ich nun die abfrage "per hand" eingebe - wie im beispiel - funktioniert das tadellos:

PHP:
if ($auswahl == "STUDENT"){
	
	 $query = "INSERT INTO ".$auswahl." SET

    datum = now(),

    hausuebung ='".addslashes($hausuebung)."',

    song = '".addslashes($song)."'

    ";

   $sql = mysql_query($query)

        or die(mysql_error());


Will ich nun aber folgendes machen, bekomme ich eine mysql Fehlermeldung:


PHP:
if ($auswahl == $name){ //das problem dürfte hier liegen...
	
	 $query = "INSERT INTO ".$auswahl." SET

    datum = now(),

    hausuebung ='".addslashes($hausuebung)."',

    song = '".addslashes($song)."'

    ";

   $sql = mysql_query($query)

        or die(mysql_error());


Zur Ergänzung und vollständigkeitshalber, das gesamte script:


PHP:
<?
include('mysql.inc');
$auswahl = $_POST['auswahl'];
$name = $auswahl;
$hausuebung = $_POST['hausuebung'];
$song = $_POST['song'];

if ($auswahl == $name){ // fehler****?
	
	 $query = "INSERT INTO ".$auswahl." SET

    datum = now(),

    hausuebung ='".addslashes($hausuebung)."',

    song = '".addslashes($song)."'

    ";

   $sql = mysql_query($query)

        or die(mysql_error());


} else {
	
	echo "DATEN EINGEBEN!!";
	
}







?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<h2>Hausübung Zentrale</h2>

<form action="eintrag.php" method="POST">
  <p>
    <select name="auswahl" size="1" multiple>
      <option>student1</option>
      <option>student2</option>
      <option>student3</option>
    </select>
  </p>
  <p>
  
  HÜ:<br /><textarea name="hausuebung" cols="50" rows="10"></textarea>
  </p>
  <p>
  
  SONG:<br /><input name="song" type="text" width="350" /></p>
  <p><input name="Senden" type="submit" value="send" /></p>
  
  
</form>


</body>
</html>



Danke im voraus


LG
 
Hi Newcomer

Die Fehlermeldung könnte vielleicht ganz hilfreich sein! ;-)

UND:
Nach 6 Jahren Mitgliedschaft bei tutorials.de sollte dir die Netiquette eigentlich bekannt sein. Wenn nicht, solltest du sie nochmal lesen und bei deinen folgenden Posts (wieder) beachten! ;)
 
OK. Ich bin mir im Moment nicht ganz über etwaige Fehler in meinem Posting bewusst, was konkret meinst du?


Jedenfalls ist die Fehlermeldung wie folgt:

"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET datum = now(), hausuebung ='', song = ''' at line 1"


Dankeschön
 
Du hast dort eine multiple-Dropdown-Box. Wenn man die abschickt sollte eigentlich ein Array in $_POST["auswahl"] stehen. Hier solltest Du erstmal genauer definieren was Du abschickst und wie Du es verarbeitest: eine oder mehrere Auswahlen. Um herauszubekommen, ob und was in $auswahl steht, solltest Du diese Variable einfach mal mit var_dump() ausgeben lassen.
 

Neue Beiträge

Zurück