Daten aus Variablen schreiben?

Neori

Mitglied
Hallo ich hab mal wieder ein Problem...

ich möchte mit Daten die ich aus einem Formular gesendet bekomme eine Config Datei schreiben lassen, was soweit auch funktioniert allerdings fehlen die Inhalte der übergebenen Variablen!

install.php:

PHP:
<?php 
		session_start();
		
		$server=$_POST['server'];
		$user=$_POST['user'];
		$password=$_POST['password'];
		$datenbank=$_POST['datenbank'];
		$prefix=$_POST['prefix'];
		$localuser=$_POST['localuser'];
		$localpassword1=$_POST['localpassword1'];
		$localpassword2=$_POST['localpassword2'];
		$localmail1=$_POST['localmail1'];
		$localmail2=$_POST['localmail2'];
			
		function generateConfig()
		{
		  $datei = fopen("config.php", "r+");
		  fwrite($datei,"<?php \r\n");
		  fwrite($datei,"\r\n");
		  fwrite($datei,"//Autogenerierte Konfiguartionsdatei\r\n");
		  fwrite($datei,"//Ändern sie nichts in dieser Datei\r\n");
		  fwrite($datei,"\r\n");
		  fwrite($datei,"\r\n");
		  fwrite($datei,"\r\n");
		  fwrite($datei,"\r\n");
		  fwrite($datei,"\r\n");
		  fwrite($datei,"//define('debug',true);\r\n");
		  fwrite($datei,"//Die obere Zeile auskommentieren un Debuginformationen anzuzeigen\r\n");
		  fwrite($datei,"\r\n");
		  fwrite($datei,"\r\n");
		  fwrite($datei,"\r\n");
          fwrite($datei,'$mysql_server'."=$server;\r\n");
		  fwrite($datei,'$mysql_user'."=$user;\r\n");
		  fwrite($datei,'$mysql_password'."=$password;\r\n");
		  fwrite($datei,'$mysql_datenbank'."=$datenbank;\r\n");
          fwrite($datei,"\r\n");
          fwrite($datei,'$table_prefix'."=$prefix;\r\n"); 
          fwrite($datei,"\r\n");
          fwrite($datei,"define('PHPMail_INSTALLED', true);\r\n");
		  fwrite($datei,"\r\n");
          fwrite($datei,"\r\n");
		  fwrite($datei,"?>");
		  fclose($datei);
		}
	    function showInputs()
	    {
	      echo '
	      <table>
	        <form action="'.$PHP_SELF.'" method="post" name="install" id="install" onSubmit="return check();">
	        <tr>
		      <td>Mysqlserver: (Standard: localhost)</td>
		      <td><input type="text" name="server" value="localhost" /></td>
	        </tr>
	        <tr>
	          <td>Mysqlname:</td>
		      <td><input type="text" name="user" /></td>
	         </tr>
	         <tr>
		       <td>Mysqlpasswort:</td>
		       <td><input type="password" name="password" /></td>
	         </tr>
			 <tr>
		       <td>Mysqldatenbank:</td>
		       <td><input type="text" name="datenbank" /></td>
	         </tr>
	         <tr>
		       <td>Tabellenprefix:</td>
		       <td><input type="text" name="prefix" value="phpmail_" /></td>
	         </tr>
	         <tr>
		       <td>Benutzername:</td>
		       <td><input type="text" name="localuser" /></td>
	         </tr>
	         <tr>
		       <td>Benutzerpassword:</td>
		       <td><input type="password" name="localpassword1" /></td>
	         </tr>
	         <tr>
		       <td>Benutzerpassword: (Wiederholung)</td>
		       <td><input type="password" name="localpassword2" /></td>
	         </tr>
	         <tr>
		       <td>Benutzeremail:</td>
		       <td><input type="text" name="localmail1" /></td>
	         </tr>
	         <tr>
		       <td>Benutzeremail: (Wiederholung)</td>
		       <td><input type="text" name="localmail2" /></td>
	         </tr>
			 <tr>
			   <td colspan="2"><input type="submit" value="instalieren"></td>
			 </tr>
	        </form>
	       </table>';
	     }
?>
<html>
  <head>
    <script language="javascript"> 
   function check () 
   { 
	   var server,user,password,prefix,localuser,localpassword1,localpassword2,localmail1,localmail2,checkresult; 
	   server=window.document.install.server.value; 
	   user=window.document.install.user.value; 
	   password=window.document.install.password.value; 
	   prefix=window.document.install.prefix.value; 
	   localuser=window.document.install.localuser.value; 
	   localpassword1=window.document.install.localpassword1.value; 
	   localpassword2=window.document.install.localpassword2.value; 
	   localmail1=window.document.install.localmail1.value; 
	   localmail2=window.document.install.localmail2.value; 
	   
	   checkresult = true; 
	   if (server=="") 
	   { 
		 alert ("Bitte das Feld Mysqlserver ausfüllen!"); 
		 checkresult = false; 
	   } 
	   else if (user=="") 
	   { 
		 alert ("Bitte das Feld Mysqlname ausfüllen!"); 
		 checkresult = false; 
	   } 
	   else if (password=="") 
	   { 
		 alert ("Bitte das Feld Mysqlpassword ausfüllen!"); 
		 checkresult = false; 
	   } 
		else if (prefix=="") 
	   { 
		 alert ("Bitte das Feld Tabellenprefix ausfüllen!"); 
		 checkresult = false; 
	   }
	   else if (localuser=="") 
	   { 
		 alert ("Bitte das Feld Benutzername ausfüllen!"); 
		 checkresult = false; 
	   } 
	   else if (localpassword1=="") 
	   { 
		 alert ("Bitte das Feld Benutzerpassword ausfüllen!"); 
		 checkresult = false; 
	   } 
	   else if (localpassword2=="") 
	   { 
		 alert ("Bitte das Feld Benutzerpassword (Wiederholung) ausfüllen!"); 
		 checkresult = false; 
	   } 
	   else if (localmail1=="") 
	   { 
		 alert ("Bitte das Feld Benutzeremail ausfüllen!"); 
		 checkresult = false; 
	   }
	   else if (localmail2=="") 
	   { 
		 alert ("Bitte das Feld Benutzeremail (Wiederholung) ausfüllen!"); 
		 checkresult = false; 
	   }
	   else if(localpassword1!=localpassword2)
	   {
	     alert ("Die Passwörter sind nicht identisch!");
		 checkresult=false;
	   }
	   else if(localmail1!=localmail2)
	   {
	     alert ("Die Emailadressen sind nicht identisch!");
		 checkresult=false;
	   }
	   return checkresult;
   } 
   </script> 
  </head>
  <body>
    <?php
			if(!isset($server) or !isset($user) or !isset($password) or !isset($datenbank) or !isset($prefix) or !isset($localuser) or !isset($localpassword1) or !isset($localpassword2) or !isset($localmail1) or !isset($localmail2))				
			  showInputs();
			elseif(isset($server) and isset($user) and isset($password) and isset($datenbank) and isset($prefix) and isset($localuser) and isset($localpassword1) and isset($localpassword2) and isset($localmail1) and isset($localmail2))
			  generateConfig();
    ?>
	
  </body>
</html>

Die geschriebene Config trotz gefülter Textfelder:

PHP:
<?php 

//Autogenerierte Konfiguartionsdatei
//Ändern sie nichts in dieser Datei





//define('debug',true);
//Die obere Zeile auskommentieren un Debuginformationen anzuzeigen



$mysql_server=;
$mysql_user=;
$mysql_password=;
$mysql_datenbank=;

$table_prefix=;

define('PHPMail_INSTALLED', true);


?>

was soll ich nur tun =(
 
Hmmm scheint zu funktionieren :)

Gibt es eine Möglichkeit die Variablen in der funktion zuzulassen ohne alle mit global zu holen, da dies in meinem weiteren Vorhaben noch um einiges mehr an arbeit mit sich bringen wird?

Danke =)
 
Wieso greifst du nicht gleich auf die vordefinierte, superglobale Variable $_POST direkt zu sondern definierst zusätzliche?
 
Ich hatte zuerst das Script wie oben nur statt den Variablen hatte ich

PHP:
$_POST['user']
usw... allerdings waren diese im der Config danach ebenfalls leer.
 
Zurück