php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 15.09.2006, 13:59  
Benutzer
 
Registriert seit: 11.04.2006
Beiträge: 95
winki
winki eine Nachricht über ICQ schicken
Standard Variable in Variable schreiben aber wie

Hi cih will Daten aus einem Formularfeld in eine Datei eintragen lassen. Dafür habe ich folgendes Script.

PHP-Code:
<?php
   
// install.php
   
error_reporting(E_ALL E_NOTICE);

   if(
file_exists("config.php")) {
      print (
"Die Datei config.php existiert bereits!\n");
      
// Prüfen, ob die Datei config.php bereits angelegt wurde
   
} else {
      if(
$_POST['sent']=='1') {
         if(!(
$_POST['host'] AND $_POST['username'] AND $_POST['password'] AND $_POST['name'])) {
            
$fehler "Bitte fülle alle Felder aus!
\n"
;
         }
         
// Prüfen, ob alle Felder ausgefüllt wurden

         
if($fehler) {
            
$meldung "

"
$fehler ."</p>\n";
            unset(
$_POST['sent']);
            
// Wenn Fehler vorhaden, Meldung erstellen und $_POST['sent']
            // zurücksetzten, dammit das Formular erneut angezeigt wird
         
} else {
            
$dateitext "<?php\n";
            
$dateitext .= "   //config.php\n";
            
$dateitext .= "   error_reporting(E_ALL ^ E_NOTICE);\n\n";
            
$dateitext .= "   $db_host = \"";
            
$dateitext .= $_POST['host'];
            
$dateitext .= "\";\n";
            
$dateitext .= "   $db_username = \"";
            
$dateitext .= $_POST['username'];
            
$dateitext .= "\";\n";
            
$dateitext .= "   $db_password = \"";
            
$dateitext .= $_POST['password'];
            
$dateitext .= "\";\n";
            
$dateitext .= "   $db_name = \"";
            
$dateitext .= $_POST['name'];
            
$dateitext .= "\";\n";
            
$dateitext .= "?>";
            
$datei fopen("config.php""w");
            
fputs($datei$dateitext);
            
fclose($datei);
            
$meldung "

Die Datei wurde erfolgreich angelegt!</p>\n"
;
         }

         print (
$meldung);
      }
      if(!
$_POST['sent']) {
?>

<form action="install.php" method="post" name="config">
   <input name="sent" title="Sent" type="hidden" value="1">
   Host: <input name="host" title="Datenbank-Host" type="text" value="<?php print ($_POST['host']); ?>">

   Benutzername: <input name="username" title="Datenbank-Benutzername" type="text" value="<?php print ($_POST['username']); ?>">

   Passwort: <input name="password" title="Datenbank-Passwort" type="password" value="<?php print ($_POST['password']); ?>">

   Datenbank: <input name="name" title="Datenbank-Name" type="text" value="<?php print ($_POST['name']); ?>">

   <input name="send" title="Senden" type="submit" value="weiter">
</form>

<?php
      
}
   }
?>
In der Datei config.php, die ja erstellt werden soll, soll dann folgendes zu sehen sein.
PHP-Code:
<?php
   
// config.php
   
error_reporting(E_ALL E_NOTICE);

   
$db_host     "";
   
$db_username "";
   
$db_password "";
   
$db_name     "";
?>
Natürlich sollen in den "" dann die übergebenen Werte stehen.

Im Moment steht aber nur folgendes da.
PHP-Code:
<?php
   
// config.php
   
error_reporting(E_ALL E_NOTICE);

    = 
"";
    = 
"";
    = 
"";
    = 
"";
?>
Narülich auch wieder in den "" die übergebenen Werte - das geht ja. Aber wie man sieht fehlen die Variablennamen! Also was mache ich da falsch?
__________________
Eifersucht ist eine Leidenschaft, die mit Eifer sucht, was Leiden schafft
winki ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 15.09.2006, 14:07  
Erfahrener Benutzer
 
Registriert seit: 05.04.2005
Beiträge: 1.333
Freeaak ist zur Zeit noch ein unbeschriebenes Blatt
Standard

du musst die $ escapen => \$
__________________
"Wenn du nicht weißt, was du tust: Machs mit Eleganz!"

(Murphy's Gesetze)
Freeaak ist offline  
Alt 15.09.2006, 14:09  
Benutzer
 
Registriert seit: 11.04.2006
Beiträge: 95
winki
winki eine Nachricht über ICQ schicken
Standard

ok, hatte ich vergessen. danke, ich glaube da bin ich etwas auf der leitung gesessen
__________________
Eifersucht ist eine Leidenschaft, die mit Eifer sucht, was Leiden schafft
winki ist offline  
Alt 15.09.2006, 14:23  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

In PHP-Dateien schreibt man nicht, dafür gibt es Konfigurations-Dateien (text/plain), die man entweder außerhalb des Webroots ablegt oder mit htaccess schützt.

Das was du da machst ist vorsätzlich ein Sicherheitsleck produzieren.
Zergling-new ist offline  
Alt 16.09.2006, 14:12  
Erfahrener Benutzer
 
Registriert seit: 08.06.2004
Beiträge: 865
RudiS
Standard

Du solltest dir angewöhnen während der Entwicklung immer error_reporting(E_ALL) zu verwenden, dann werden alle Fehler angezeigt.
Auch solltest du mit isset() oder empty() prüfen, ob die übertragenen Variablen gesetzt sind, anstatt nur "$_POST['...']" zu prüfen; das gibt nämlich unter E_ALL eine Warnung. Das gleiche gilt für die Ausgabe; erst testen und dann ausgeben.
mfg RudiS
__________________
Kunst kommt von Können und nicht von wollen, denn sonst würde es ja Wunst heißen.
RudiS ist offline  
Alt 16.09.2006, 21:48  
Neuer Benutzer
 
Registriert seit: 07.11.2005
Beiträge: 17
remotemonkey
Standard

'$varname = '.$_POST['schlagmichtot'] würde das machen was du willst
innerhalb von ' ' werden die variablen nicht ersetzt, bei " " schon
remotemonkey ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Variable in Datenbankentrag asa PHP Tipps 2008 11 22.07.2008 09:51
Variable in SQL Anweisung verwenden Beatbox PHP Tipps 2006 2 08.08.2006 16:32
Variable in $this Variable der Klasse benutzen PHP Tipps 2006 5 03.05.2006 20:04
variable wird nich erkannt. Marian PHP Tipps 2006 1 03.04.2006 21:25
PHPMailer findet eigene Variable net seejay PHP Tipps 2007 6 04.01.2006 12:55
problem mit variable snatch-ic PHP Tipps 2007 5 13.12.2005 13:18
Variable durch 2. Variable bestimmen Quagga PHP Tipps 2005-2 11 26.10.2005 17:34
Variable als Variable behandeln ohne den Wert zu verwenden Pain-maker PHP Tipps 2005-2 4 11.09.2005 17:28
Variable in Variable Matthiasnet PHP Tipps 2005 6 20.03.2005 23:28
[Erledigt] Fehlermeldung unterdrücken wenn keine variable übergeben... PHP Tipps 2005 6 20.03.2005 13:36
If variable $1 vorhanden dann nimm die, if variable $2 .... PHP Tipps 2005 8 13.02.2005 20:16
Variable in einer Variable Beatbox PHP Tipps 2005 7 15.01.2005 15:55
Warum wird Variable nicht übergeben??? Anuschka PHP Tipps 2005 2 06.01.2005 13:22
[Erledigt] Variable erst später definieren? PHP Tipps 2004-2 10 04.12.2004 20:23
variable Variablen requesten PHP Tipps 2004 5 08.06.2004 20:34

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php variable in datei schreiben config.php, print in datei schreiben php, php print $_post, php _post in datei ausgeben

Alle Zeitangaben in WEZ +2. Es ist jetzt 12:47 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.