Datenbankeintrag leer

exxe

Mitleser
Ich bin gerade dabei PHP zu lernen und habe ein kleines Script erstellt, um Daten in eine Datenbank einzutragen.
Nun hab ich das Problem, dass er in der Datenbank zwar eine neue Zeile anlegt, allerdings immer ohne Inhalt.
Ich brüte jetzt schon ne ganze weile über diesem Script, bin aber wohl zu blind, meinen Fehler zu finden.


Mit der insert.html werden die Daten erfasst

PHP:
<html>
<body>
    <form method="post" action="write.php">
    <input type="text" name="interpret" value="interpret"><br>
    <input type="text" name="titel" value="titel"><br>
    <input type="submit" name="button" value="ok">
    </form>
</body>
</html>


und mit der write.php sollten die Daten eigenlich übergeben werden...

PHP:
<html>
<body>

    <?php
    include ("db.php");
    mysql_query("INSERT INTO cds (titel,interpret)VALUES('$titel','$interpret')");
    mysql_close();
    ?>

    Die Daten wurden eingetragen<br>
    <a href="insert.html">neuer Eintrag</a><br>
    <a href="fetcharr.php">zur Übersicht</a>
</body>
</html>

Vielleicht kann mir jemand nen Tipp geben, was ich falsch mache? Irgendwie komm ich von alleine nicht drauf... :(
 
Mhh ich denke mal auf deinem Server wir RegisterGlobals in der php.ini auf Off stehen. Generell empfehle ich dir alle Variablen zunächst auszulesen. Der PHP-Teil in deiner write.php müsste also so aussehen:
PHP:
<?php 

$titel = $_POST["titel"];
$interpret = $_POST["interpret"];

include ("db.php"); 
mysql_query("INSERT INTO cds (titel,interpret) VALUES ('$titel','$interpret')"); 
mysql_close(); 
?>

Außerdem weiß ich nicht wie er damit klarkommen wenn bei dem Wort VALUES die Leerzeichen fehlen.
 
Daaaaanke. Das war es.
Auf meinem Localhost habe ich RegisterGlobals auf On, wohl aber nicht auf meinem Webspace.
Das mit den Variablen zuerst auslesen werd ich mir merken.
Vielen Dank
 
Ein standart Server, denn dadurch vermeidet man Sicherheitslücken bei schlecht gecodeten Seiten, die Variablen einfach per $Var abfragen *räusper* (naja, in diesem fall nicht nötig), und nicht per $Var=$HTTP_POST_VARS['var']; . (Dadurch kann man es per GET oben im Link senden)

Bsp:

PHP:
<?
if($passwort=="blablabla")
{
$Flag=1;
}
[...]

if($Flag==1)
{
//Adminfunktion
[...]
}
?>
 
Zuletzt bearbeitet:
Zurück