Beim seitenaufruf führt php befehl aus ?

supser

Erfahrenes Mitglied
Moin liebe Gemeinde habe eine adressenverwaltung gebastelt und habe ein Probschen:

PHP:
<html>
<head>
<title>Adressenverwaltung</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>
<body background="../0000.jpg">
<form action="adressen.php" method=post>
  <div align="center">
<?php

$host = "---------------";
$user = "---------------";
$password = "---------------";
$dbname = "-------------";
$tabelle ="adressen";

$dbverbindung = mysql_connect ($host, $user, $password);

$dbanfrage = "INSERT into $tabelle values ('0', '$Array[a1]', '$Array[a2]', '$Array[a3]', '$Array[a4]', '$Array[a5]', '$Array[a6]', '$Array[a7]', '$Array[a8]', '$Array[a9]', '$Array[a10]', '$Array[a11]')";

if (mysql_db_query ($dbname, $dbanfrage, $dbverbindung)) {
print ("Datenbankeintrag erfolgreich.");
} else {
print ("Es traten Probleme auf.");
}
mysql_close ($dbverbindung);

?>
    <table width="100%">
      <tr> 
        <td height="28" bgcolor="#FFCC00"> <div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Adressenverwaltung</strong></font><br>
          </div></td>
      </tr>
    </table>
    <br>
    <table width="71%">
      <tr> 
        <td width="20%" height="24">
<div align="left"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Firma 
            :</font></div></td>
        <td colspan="2"> <div align="left"> 
            <input name="Array[a1]" type=text size= 80 maxlength="80">
          </div>
</td>
      </tr>
      <tr> 
        <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Anschrift 
          :</font></td>
        <td colspan="2"> <input name="Array[a2]" type="text" value="" size="80" maxlength="80" row="5"></td>
      </tr>
      <tr> 
        <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Plz / 
          Ort :</font></td>
        <td width="3%"> <input name="Array[a3]" type="text" value="" size="5" maxlength="5" row="5"></td>
        <td width="77%"><input name="Array[a4]" type="text" value="" size="50" maxlength="45" row="5"></td>
      </tr>
      <tr> 
        <td><div align="left"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Ansprechpartner 
            :</font></div></td>
        <td colspan="2"> <div align="left"> 
            <input name="Array[a5]" type="text" value="" size="80" maxlength="70" row="5">
          </div></td>
      </tr>
      <tr> 
        <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">email 
          :</font></td>
        <td colspan="2"><input name="Array[a6]" type="text" value="" size="40" maxlength="39" row="5"></td>
      </tr>
      <tr> 
        <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Tel :</font></td>
        <td colspan="2"><input name="Array[a7]" type="text" value="" size="40" maxlength="39" row="5"></td>
      </tr>
      <tr> 
        <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Fax :</font></td>
        <td colspan="2"><input name="Array[a8]" type="text" value="" size="40" maxlength="39" row="5"></td>
      </tr>
      <tr> 
        <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Mobil 
          :</font></td>
        <td colspan="2"><input name="Array[a9]" type="text" value="" size="40" maxlength="39" row="5"></td>
      </tr>
      <tr> 
        <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Homepage 
          :</font></td>
        <td colspan="2"><input name="Array[a10]" type="text" value="" size="80" maxlength="70" row="5"></td>
      </tr>
      <tr> 
        <td><font color="#FFFFFF" size="2" face="Verdana, Arial, Helvetica, sans-serif">Notizen 
          :</font></td>
        <td colspan="2"><textarea name="Array[a11]" cols="61" rows="10" row="5"></textarea></td>
      </tr>
    </table>
    <p> 
      <input type=submit name="SUBMIT" value="Datensatz senden">
    </p>
    <table width="100%">
      <tr> 
        <td height="28" bgcolor="#FFCC00"> <div align="center"><br>
          </div></td>
      </tr>
    </table>
    
  </div>
</form>
</body>
</html>

und zwar wenn ich die adressen.php im browser aufrufe schreibt er dateneintrag erfolgreich obwohl ich noch nicht absenden gedrückt habe ?

also er sendet beim aufrufen der Seite schon einen leeren datensatz woran könnte das liegen ?
 
Hast du schon mal was von if-Klammer gehört, dabei überprüfst du dann ob es die Variable $_POST[SUBMIT] existiert, und danach gibst du den Code für das Eintrag ein.
 
Das Anfügen eines neuen Datensatzes ist auch nicht mit keiner Bedingung sondern geschieht bei jedem Aufruf des Skriptes. Wie bereits erwähnt, solltest du diese Aktion mit dem Vorhandensein der $_POST['SUBMIT']-Variable verknüpfen, etwa:
PHP:
if( isset($_POST['submit']) ) {

	//…

}
Diesbezüglich möchte ich dich darauf hinweisen, die Benutzereingaben zu validieren oder wenigstens für die Nutzung in einer Datenbankabfrage zu maskieren, damit es nicht zu SQL-Injektionen oder Ähnlichem kommen kann.
 
Zurück