$PHP_SELF -> Teufelskreis?

Maximus

Erfahrenes Mitglied
Irgendwie drehe ich mich im Kreis:
Habe eine Site gemacht, in der man die Firmendaten, die in einer MySQL-Datenbank gespeichert werden editieren kann.
Wenn man die Site aufruft, sollen zuerst die Daten aus der Datenbank eingelesen und in die Textfelder übertragen werden.
Dann ändert man die Daten ab und klickt auf OK.
Die Site ruft sich dann selbst auf und die neuen Daten sollen jetzt aus der Datenbank in die Textfelder übertragen werden.
Klappt auch alles ganz gut, bis auf die Tatsache, daß beim ersten Seitenaufruf die Textfelder leer sind !

Hier gehts zum Problem


Hier mal der ganze Quellcode :
PHP:
<?
$host="localhost";
$Benutzer="";
$Passwort="";
$Datenbank="WTW";
$Verbindungskennung = mysql_connect($host, $Benutzer, $Passwort);
mysql_select_db($Datenbank, $Verbindungskennung);


// ********* Hier werden die Änderungen in die Datenbank geschrieben *************
$aendern = "UPDATE firmendaten Set Firma = '$Firma1', Firma2='$Firma2' , Strasse='$Strasse', Postfach='$Postfach', PLZ='$PLZ', Ort='$Ort', Telefon='$Telefon', Telefax='$Telefax',
                        EMail='$EMail'";
$update = mysql_query($aendern);
mysql_close($Verbindungskennung);
?>

?
$host="localhost";
$Benutzer="";
$Passwort="";
$Datenbank="WTW";
$Verbindungskennung = mysql_connect($host, $Benutzer, $Passwort);
mysql_select_db($Datenbank, $Verbindungskennung);
// ********* Ab hiert werden die Daten aus der Datenbank ausgelesen ****************
$sql_Abfrage="SELECT Firma, Firma2, Strasse, Postfach, PLZ, Ort, Telefon, Telefax, EMail FROM firmendaten";
$Ergebnis=mysql_query($sql_Abfrage, $Verbindungskennung);
$Reihe = mysql_fetch_array($Ergebnis);
mysql_close($Verbindungskennung);
?>

<html>
............
 
                <form name="form1" method="post" action="<? print $PHP_SELF ?>">
                  <table width="100%" height="299" border="0">
                    <tr> 
                      <td><font size="2" face="Arial, Helvetica, sans-serif">Firma</font></td>
                      <td><font size="2" face="Arial, Helvetica, sans-serif"> 
                        <input name="Firma1" type="text" id="Firma1" size="35" maxlength="35" value="<? print $Reihe['Firma']; ?>">
                        </font></td>
                    </tr>
                    <tr> 
                      <td><font size="2" face="Arial, Helvetica, sans-serif">&nbsp;</font></td>
                      <td><font size="2" face="Arial, Helvetica, sans-serif"> 
                        <input name="Firma2" type="text" id="Firma2" size="35" maxlength="35" value="<? print $Reihe['Firma2']; ?>">
                        </font></td>
                    </tr>
                    <tr> 
...........      
</html>


Wäre für jede Hilfe sehr dankbar!!
 
Zuletzt bearbeitet:
diese query hier wird immer ausgeführt. also wird jedesmal, wenn keine daten eingegeben wurden die datenbank geleert

PHP:
$aendern = "UPDATE firmendaten Set Firma = '$Firma1', Firma2='$Firma2' , Strasse='$Strasse', Postfach='$Postfach', PLZ='$PLZ', Ort='$Ort', Telefon='$Telefon', Telefax='$Telefax', EMail='$EMail'";

füge da am besten eine if-bedingung (keine schleife ;) ) ein.
Dann kannst du dem submit button eine value geben und diese variable über isset() prüfen.

so weit ich weiß fehlen in deinen querys aber auch immer die WHERE-Bedingung.
 
Ok,
danke hat funktioniert. Nur für den Fall das noch jemand so ein Newbie ist wie ich hier die Lösung :

PHP:
<?
//*********** Öffnen der Datenbak **********
$host="localhost";
$Benutzer="";
$Passwort="";
$Datenbank="WTW";
$Verbindungskennung = mysql_connect($host, $Benutzer, $Passwort);
mysql_select_db($Datenbank, $Verbindungskennung);


// ********* Hier werden die Änderungen in die Datenbank geschrieben  wenn die Taste Übernehmen gedrück wurde*************
If (Isset($Uebernehmen)) //**** Abfrage ob Taste gedrückt wurde*********
{
$aendern = "UPDATE firmendaten Set Firma = '$Firma1', Firma2='$Firma2' , Strasse='$Strasse', Postfach='$Postfach', PLZ='$PLZ', Ort='$Ort', Telefon='$Telefon', Telefax='$Telefax',
                        EMail='$EMail'";
$update = mysql_query($aendern);
}


// ********* Ab hiert werden die Daten aus der Datenbank ausgelesen ****************
$sql_Abfrage="SELECT Firma, Firma2, Strasse, Postfach, PLZ, Ort, Telefon, Telefax, EMail FROM firmendaten";
$Ergebnis=mysql_query($sql_Abfrage, $Verbindungskennung);
$Reihe = mysql_fetch_array($Ergebnis);
mysql_close($Verbindungskennung);
?>
 
Zuletzt bearbeitet:
Zurück