Puoi inserirlo, ma devi accertari di effetuare l'escape dei caratteri speciali.
Se usi le virgolette ( " " ) devi effetuare l'escape di ogni virgoletta e ogni simbolo del dollaro ( $ ).
Mentre se usi gli apici ( ' ' ) dovrai effetuare solo l'escape degli apici.
Quindi avrai qualcosa di simile:
Codice PHP:
<?
$nome = "il nome della pagina nuova";
$testo = '<?php
$username = "someuser";
$password = "somepassword";
if ($_POST[\'txtUsername\'] != $username || $_POST[\'txtPassword\'] != $password) {
?>
<h1>Login</h1>
<form name="form" method="post" action="<?php echo $_SERVER[\'PHP_SELF\']; ?>">
<p><label for="txtUsername">Username:</label>
<br /><input type="text" title="Enter your Username" name="txtUsername" /></p>
<p><label for="txtpassword">Password:</label>
<br /><input type="password" title="Enter your password" name="txtPassword" /></p>
<p><input type="submit" name="Submit" value="Login" /></p>
</form>
<?php
}
else {
?>
<p>This is the protected page. Your private content goes here.</p>
<?php
}
?>';
$fp = fopen("$nome.php", "a+");
if(!$fp) die ("Errore nella creazione del file");
fwrite($fp, "$testo");
$fp = fclose($fp);
?>
Un'altra opzione è quella di salvare
IL CODICE DELLA PAGINA NUOVA in un file a parte, ottenere il sorgente ( fopen -> fread o più velocemente file_get_contents ) e salvarlo in una variabile .
P.s. IMHO puoi anche evitare di fare tutto questo caos comunque.
Ti crei un file di configurazioni con le variabili dell'username e della password e lo includi dentro lo script per il login, poi quando vorrai modificare le configurazioni modifichi solamente il file di configurazione e non tutta la pagina per il login.