Sergey Tiessen: Daten in die Datenbank schreiben

Hallo,

ich habe folgendes Problem. Ich habe eine Online-Umfrage erstellt, die funktioniert auf meinem Rechner einwandfrei. Die Daten werden in MySQL-Datenbank geschrieben und dann ohne Probleme ausgewertet. Dasselbe funktioniert aber auf dem WindowsNT 4.0- Server nicht. Es wird zwar ein neuer Eintrag in die Datenbank geschrieben, aber ohne entsprechenden Werte. So sieht meine Code aus:

<?
include("include.php");

$handle = connect2db();
    if($handle)
    {

$result = @mysql_query("SELECT * FROM nachbefragung");
        if($result){
            $numrows = mysql_num_rows ($result);
            $id = $numrows + 1;
        }
        else {
            $id = 1;
        }
$result = @mysql_query("INSERT INTO nachbefragung VALUES ('$PN'...'$Fr4_7') ");
    if ($result) {
    header("Location: ende.php");
        }
    else
    {
        echo "Die Verbindung fehlgeschlagen!" ;
   }
}
?>

die Werte sollen aus HTML-Code eingelesen werden:

... class="textNormal">PersonalNr</td>
            <td height="25" bgcolor="FFEACC" class="textNormal" width="374"><input name="PN" type="text" id="PN">...
...           <input name=Fr1_1a type=radio value=1>
              1 <img src="images/shim.gif" width="10" height="5">
              <input name=Fr1_1a type=radio value=2>
              2 <img src="images/shim.gif" width="10" height="5">
              <input name=Fr1_1a type=radio value=3>
              3 <img src="images/shim.gif" width="10" height="5">
              <input name=Fr1_1a type=radio value=4>
            4
   </td>.........

Hat jemand eine Idee, woran es liegen konnte?
Danke und Gruß
Sergey

  1. Hi,

    $result = @mysql_query("INSERT INTO nachbefragung VALUES ('$PN'...'$Fr4_7') ");

    ich sehe nirgendwo, dass Du die Variablen $PN oder $Fr4_7 deklariert hast, geschweige denn initialisiert. Oder anders gesagt: Wenn das _irgendwo_ funktioniert, herrscht dort ein Sicherheitsproblem.

    Siehe Archiv.

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Die Variablen sind in dem Formular:

      <form name="form1" action="checkIndex.php" method="post">   <input type="hidden" name="id" value="<? echo $id...

      und die sollen von checkIndex.php abgelesen werden. Auf dem localhost funktioniert das auch

      1. Moin!

        Die Variablen sind in dem Formular:

        <form name="form1" action="checkIndex.php" method="post">   <input type="hidden" name="id" value="<? echo $id...

        und die sollen von checkIndex.php abgelesen werden. Auf dem localhost funktioniert das auch

        Es sollte aber besser nicht funktionieren.

        Die POST-Daten stehen im Array $_POST. Bei PHP-Versionen vor 4.1 in $HTTP_POST_VARS. Und wenn du bei deinem lokalen Server in der PHP.INI mal register_globals auf OFF schaltest, wirst du wahrscheinlich das Verhalten des Live-Servers erreichen - und solltest dich dann daran orientieren.

        Es ist außerdem empfehlenswert, die PHP-Versionen auf beiden Servern anzugleichen.

        - Sven Rautenberg