- Home
- Categorie
- Coding e Sistemistica
- PHP
- php fopen () - inserire codice php
-
php fopen () - inserire codice php
Salve,
sto cercando di crare uno script php che crea una nuova pagina web php (intesa proprio come file). Il problema è che lo script che voglia venga scritto nella nuova pagina viene invece eseguito dallo script che la crea... come posso evitare che venga eseguito?max
-
Per impedire a PHP di riconoscere gli elementi del linguaggio, come le variabili devi precederne il nome con la barra "":
Es:
[php]
$saluto = "Ciao";
echo "$saluto a tutti!"; //Stampa "Ciao a tutti!"
echo "$saluto a tutti!"; //Stampa "$saluto a tutti!"
[/php]Ciao!
-
Oppure utilizzi:
[php]
print ('$Ciao'); //Stamperà $Ciao[/php]
-
Ma così non verrà scritto nel nuovo file anche le // impedendo al codice di venire eseguito anche nella nuova pagina?
-
Beh, allora le // servono solo per esplicare! E' un commento -.-
ergo:
// <- Commento su singola riga.
/* <- Apertura commento su più righe.
*/ <- Chiusura commento su più righe.Comunque, per esaudire quello che vuoi te, ti esplico bene il codice:
[php]$Filename = "C:\NewFile.php";$TXT = '<?php
$Variabile1 = 1000;
?>';
$Handle = fopen($Filename, 'w+');
$Scrittura = fwrite($TXT, $Handle);
fclose($Handle);
if($Scrittura){
print 'Scrittura riuscita';}
else{
print 'Errore!';}
[/php]
-
Si ma a un certo punto ho un codice tipo:
print: '<div id="banner">';
che dovrebbe diventare
print "<div id="banner">;
ma "" dentro "" genera errore...
-
print "<div id='banner'>";
Per l'html è indifferente usare l'apice singolo o il doppio apice
-
OK ce l'ho fatta ora però ho un'altra domanda... mettiamo che:
$value="valore_ricevuto_da_un_form";
come faccio a scrivere il valore della variabile nel file invee della variabile... perchè quando ci provo nel nuovo file viene
<?php
//altro codice
$value
//altro codice
?>
mentre vorrei che fosse
<?php
//altro codice
valore_ricevuto_da_un_form
//altro codice
?>
-
posta il tuo codice perche mi sembri un po confuso...
-
<?php session_start(); require('config.php'); include('header.php'); ?> <?php $name=$_POST['name']; $cat=$_POST['cat']; $content=$_POST['content']; $user=$_SESSION['login']; $con=' <?php require("../config.php"); mysql_select_db($dbname,$connection); $query=mysql_query("SELECT * FROM logo") or die ("Query error: " . mysql_error()); $fetch=mysql_fetch_array($query); $logo=$fetch["path"]; //la riga della variabile conte mi da un'errore: **Parse error**: syntax error, unexpected T_STRING in **/home/praesele/public_html/p/mm.php** $conte = ' . $content .' $title = ' . $name .' ?> <<< <a href="../index.php">Home</a> <br /> <br /> <center> <img src="<?php print $logo; ?>"> <br /> <br /> <h2><b> - <?php print $title; ?> -</b></h2> <br /> <br /> <?php print $conte; ?> </center> <?php include ("../footer.php"); ?> '; mysql_select_db("$dbname",$connection); $seca=mysql_query("SELECT * FROM pcategory WHERE name='$cat'") or die ("5Query error: " . mysql_error()); $fetch=mysql_fetch_array($seca); $id=$fetch['id']; $query="INSERT INTO pages (title, content, puser) VALUES ('$name', '$id', '$cat')"; if(!mysql_query($query,$connection)) { die('Error: ' . mysql_error()); } $page=fopen("p/" .$name . ".php","w+") or exit ("Unable to create page."); fwrite($page,$con); fclose($page); ?> <?php include('footer.php'); ?>
-
@max0005 said:
OK ce l'ho fatta ora però ho un'altra domanda... mettiamo che:
$value="valore_ricevuto_da_un_form";
come faccio a scrivere il valore della variabile nel file invee della variabile... perchè quando ci provo nel nuovo file viene
<?php
//altro codice
$value
//altro codice
?>
mentre vorrei che fosse
<?php
//altro codice
valore_ricevuto_da_un_form
//altro codice
?>E' molto semplice.
Supponiamo di avere questo codice che vuoi scrivere su file:
[php]<?php
$source = '<?php
$variabile = $valoredaform;
echo $variabile+4015;
?>';
?>
[/php]In cui $valoredaform vuoi venga sostituito con l'effettivo valore della variabile.Allora, se sai che le variabili tra apici singoli non vengono valorizzate, modifica il codice così:
[php]<?php
$source = '<?php
$variabile = '.$valoredaform.';
echo $variabile+4015;
?>';
?>
[/php]In pratica, concateni la parte iniziale del codice da scrivere con il valore che la variabile deve avere, concatenando il tutto poi con il resto della stringa da scrivere.Se qualcosa ti è oscura chiedi pure.
-
si... perchè il +4015?:bho:
-
Comunque continuo a ricevere questo errore quando provo a visulaizzare la pagina creata:
Parse error: parse error in C:\xampp\htdocs\nfs\p\test.php on line **8
**La riga corrisponde a:$conte = ' . $content .';
-
@max0005 said:
si... perchè il +4015?:bho:Così, per dare un pò di colore. Niente di più.
Potresti usare il tag PHP invece di Code? Non si capisce molto.
-
[php]<?php
session_start();
require('config.php');
include('header.php');?>
<?php
$name=$_POST['name'];
$cat=$_POST['cat'];
$content=$_POST['content'];
$user=$_SESSION['login'];
$con='
<?php
require("../config.php");
mysql_select_db($dbname,$connection);
$query=mysql_query("SELECT * FROM logo") or die ("Query error: " . mysql_error());
$fetch=mysql_fetch_array($query);
$logo=$fetch["path"];
$conte = ' . $content .';
$title = ' . $name .';
?>
<<< <a href="../index.php">Home</a>
<br />
<br />
<center>
<img src="<?php print $logo; ?>">
<br />
<br />
<h2><b> - <?php print $title; ?> -</b></h2>
<br />
<br />
<?php print $conte; ?>
</center>
<?php
include ("../footer.php");
?>
';
mysql_select_db("$dbname",$connection);
$seca=mysql_query("SELECT * FROM pcategory WHERE name='$cat'") or die ("5Query error: " . mysql_error());
$fetch=mysql_fetch_array($seca);$id=$fetch['id'];
$query="INSERT INTO pages (title, content, puser)
VALUES
('$name', '$id', '$cat')";if(!mysql_query($query,$connection))
{
die('Error: ' . mysql_error());
}$page=fopen("p/" .$name . ".php","w+") or exit ("Unable to create page.");
fwrite($page,$con);
fclose($page);
?><?php
include('footer.php');
?>[/php]Parse error: parse error in C:\xampp\htdocs\nfs\p\d.php on line 10
-
non capisco cosa c'è che non va nella variabile... il formato è uguale a quello dell'altra
-
Ragazzi ho risolto.
da $conte = ' . $content .';
a $conte = "' . $content .'";
-
Ok, si giusto, stavo scrivendo altro..