Neue php seite erstellen lassen

04/18/2012 10:13 luli-1#1
Hallo leute,

Ich möchte ÜBER eine vorgefertigte seite wo ich nur noch bestimmte felder wie "Titel" und "text" usw füllen muss eine neue Seite erstellen lassen

also sprich ich trage die gewüntschen sache ein die werden an meine SQL datenbank geschickt und die php datei erstellt automatisch die dazu gehörige php datei die wiederum das zeug ausliest

allerdigs find ich keine möglichkeit neue phpdatein erstellen zu lassen sondern nur hässliche .txt was mir natürlich nix bringt : /

Habt ihr eine Idee wäre über jeden vorschlag erfreud :)
04/18/2012 10:48 Heberg#2
Folgendes.
Einfach $datei = fopen("textdatei.php"); schreiben und erzeugen, wo ist das problem.
Du benötigst dafür nur gewisse berechtigungen und dir den gesammten code auszuschreiben, bin ich nun zu faul. Es lässt sich auch mit FILE machen.

Lese dir am besten dazu das durch!

[Only registered and activated users can see links. Click Here To Register...]
04/18/2012 14:02 yym3#3
Nico bist du das? O.o
Ich würde es so machen, dass du es über eine PHP Datei machst und mit den $_GET Parametern weiter arbeist und über .htaccess sozusagen die Fake dateien erstellst.

Bsp.:
PHP Code:
<?php
mysql_connect
('host''user''pw');
mysql_select_db('datenbankname');
$sqlCmd "SELECT * FROM hp_daten WHERE site = '".$_GET['site']."'";
$sqlQry mysql_query($sqlCmd);
$row mysql_fetch_object($sqlQry);
?>
<html>
 <head>
  <title>
   <?php echo $row->site_title?>
  </title>
 </head>
 
 <body>
  <?php echo $row->site_text?>
 </body>
</html>
Dann müsstest du halt in der datenbank den seitennamen / document namen speichern und eine .htaccess datei erstellen die die "dateien" erstellt.

Code:
RewriteEngine on 
RewriteRule ^s([0-9a-z]*).html$ index.php?site=$1
Somit würde man wenn man shome.php aufruft eig. index.php?site=home aufrufen, jedoch sieht es der user nicht.

Ansonsten nur rein PHP Wär dies eine möglichkeit:
PHP Code:
<?php $newFileContent '<?php
mysql_connect(\'host\', \'user\', \'pw\');
mysql_select_db(\'datenbankname\');
$sqlCmd = "SELECT * FROM hp_daten WHERE site = \''
.$_POST['site'].'\'";
$sqlQry = mysql_query($sqlCmd);
$row = mysql_fetch_object($sqlQry);
?>
<html>
 <head>
  <title>
   <?php echo $row->site_title; ?>
  </title>
 </head>
 
 <body>
  <?php echo $row->site_text; ?>
 </body>
</html>'


file_put_contents($_POST['site'], $newFileContent);
?>
Natürlich musst du die Datenbank und variablen hier, je nach bedarf anpassen.


Gruß
yym3.
04/19/2012 14:45 luli-1#4
er erstellt zwar die php datei mit passendem namen usw allerdings schreibt er nicht rein...

ich habe versucht die berechtigung über

chmod()
.htaccess
und über den server direkt die berechtigung zu geben

auch mit
file_put_contents
fwrite

ich hab erlichgesagt alles versucht er will nichts reinschreiben... bin echt an verzweifeln

wei genau meinst du mit "htaccess datei erstellen die die "dateien" erstellt."
zu 100% hab ich das erlichgesagt nicht verstanden

Mit freundlichen Grüßen

Luli1
04/19/2012 14:53 yym3#5
Das mit .htaccess erstelt sozusagen "fake Dateien", sprich du sagst dem Server er soll für den Besucher bei dem Aufruf folgender Datei folgenden Inhalt anzeigen, auch wenn die Datei nicht wirklich existiert.

Du kannst dich über das modrewrite hier genauer informieren:
[Only registered and activated users can see links. Click Here To Register...]


Gruß
yym3.