/ / Kann PHP nicht dazu bringen, Informationen in die Datenbank zu posten - php, mysql

PHP kann keine Informationen in die Datenbank schreiben - php, mysql

Ich habe ein Skript geschrieben, um Informationen in meine Datenbank zu posten, denn ich kann es nicht veröffentlichen und brauche Hilfe, um auf das hinzuweisen, was mir fehlt.

Mein PHP-Post für sieht so aus:

$query = "SELECT * from departments";
$res = mysql_query($query);
echo "<div id="department" >";
echo "<form action="depedit.php" method="post">";
echo "<input type="text" placeholder="Search departments">";
echo "<br>";
echo "</form>";
echo "</div>";
echo "<div id="depadd">";
echo "<form>";
echo "<table width="0" border="0">";
echo "<tr>";
echo "<td>Name:</td>";
echo "</tr>";
echo "<tr>";
echo "<td>";
echo "<select name="depid">";
while ($row = mysql_fetch_array($res)) {
echo "<option value="".$row["id"]."">".$row["depname"]."</option>";
}
echo "</select>";
echo "</td>";
echo "  </tr>";
echo "<tr>";
echo "<td>&nbsp;</td>";
echo "</tr>";
echo "  <tr>";
echo "<td><label class="limit">Select Limit for active courses in Learning Locker:</label></td>";
echo "  </tr>";
echo "  <tr>";
echo "<td>";
echo "<select name="courselimit">";
echo "<option value="1">1</option>";
echo "<option value="2">2</option>";
echo "<option value="3">3</option>";
echo "<option value="4">4</option>";
echo "<option value="5">5</option>";
echo "<option value="0">Unlimited</option>";
echo "</select>";
echo "</td>";
echo "</tr>";
echo "<tr>";
echo "<td>&nbsp;</td>";
echo "</tr>";
echo "<tr>";
echo "<td><input type="radio" id="1" name="senabled" value="1"/><label for="c1" class="required">Required<br>(Study Shredder Feature Enabled)</br></label></td>";
echo "<td><input type="radio" id="0" name="senabled" value="0"/><label for="c1" class="optional">Optional</label></td>";
echo "</tr>";
echo "<tr>";
echo "<td><input type="hidden" name="orgid" value="".$adminorgid.""></td>";
echo "</tr>";
echo "<tr>";
echo "<td><input type="hidden" name="createdby" value="".$userid.""></td>";
echo "</tr>";
echo "<tr>";
echo "<td><input type="hidden" name="timecreated" value="".time(now).""></td>";
echo "</tr>";
echo "<tr>";
echo "<td>&nbsp;</td>";
echo "</tr>";
echo "  <tr>";
echo "    <td><button type="submit" class="btn">Submit</button></td>";
echo "  </tr>";
echo "</table>";
echo "</form>";
echo "</div>";

depedit.php sieht so aus:

 $adddep = "INSERT INTO organization_dep (orgid,depid,courselimit,senabled,createdby,timecreated) VALUES ("".$_POST["orgid"].",".$_POST["depid"].",".$_POST["courselimit"].",".$_POST["senabled"].",".$_POST["createdby"].",".$_POST["timecreated"]."")";
$res = mysql_query($adddep);

if ($res === TRUE) {
echo "Department added successfully";
} else{
printf("Could not create department");
}

Die korrekte Information scheint so zu sein, als ob sie übergeben wird, da die URL die folgenden Informationen enthält:

/index.php?depid=6&courselimit=3&senabled=1&orgid=9&createdby=1129&timecreated=1364005206

Jede Hilfe mit diesem würde sehr geschätzt werden, da ich sicher bin, dass es etwas einfaches ist, dass ich gerade rüber schaue.

Antworten:

1 für die Antwort № 1

Sie möchten die Werte von $ _POST abrufen

("".$_POST["orgid"].",".$_POST["depid"].",".$_POST["courselimit"].",".$_POST["senabled"].",".$_POST["createdby"].",".$_POST["timecreated"]."")";

Aber wenn Sie sagen, dass die URL übergeben wird, sieht es so aus, als müssten Sie $ _GET verwenden, um die Werte zu erhalten

--- und einen kleinen Tipp können Sie Echo verwenden, um mehrere Zeilen zu drucken, die es funktioniert. solange du es schließt, am Ende

z.B

echo " <html>
<body>
</body>
</html>
";

0 für die Antwort № 2

Ich denke, du hast eine Menge Dinge, die du richtig machen musst, bevor das funktioniert:

  1. Nur die erste Form, die für suchende Abteilungen zu sein scheint, hat Methoden- und Aktionsattribute
  2. Da das zweite Formular nicht über das Attribut action verfügt, wird es nicht an depedit.php übermittelt, sondern an dieselbe Seite, die das Formular enthält.
  3. Da die zweite Form die Methode nicht hatAttribut, es ist standardmäßig GET, und Sie versuchen, POST-Variablen in Ihrem PHP auszulesen. Wenn GET nicht verwendet wird, werden diese Parameter in der resultierenden URL nicht angezeigt.
  4. In Ihrer SQL-Einfügeanweisung müssen Sie um jeden einzelnen einzelne Anführungszeichen haben Text Wert aber nicht um int-Werte. Jetzt haben Sie ein einfaches Zitat vor dem ersten Wert und eins vor dem letzten, was keinen Sinn ergibt.

0 für die Antwort № 3

Erstens: Dieser Teil wird nicht als "depedit.php" geposted, da es keine Einreichung gibt

echo "<form action="depedit.php" method="post">"; echo "<input type="text" placeholder="Search departments">"; echo "<br>"; echo "</form>";

Zweitens: Dies wird nie an depedit.php gesendet werden, da Ihre <form> hat keine Aktion, die "depedit.php" angibt

echo "<form>";
echo "<table width="0" border="0">";
echo "<tr>";
//other codes
echo "</form>";

vielleicht willst du das erste entfernen echo "</form>"(line 7) und der zweite <form>(line 10)