Avatar billede -xyz- Nybegynder
10. september 2003 - 01:25 Der er 7 kommentarer og
1 løsning

Problem med fwrite

jeg kan simpelthen ikke få fwrite til at virke
jeg får følgende fejl:

Warning: fwrite(): supplied argument is not a valid stream resource in /home/web/gb0065/script/loginsys/create.php on line 33

se også koden her : http://www.pastebin.com/16359

dog er linie 33 hos pastebin linie 44
<?

$bruger = $_POST['bruger'];
$pass = $_POST['pass'];
$login = "login";

include("access.php");
$query = "SELECT id, user, pass FROM logintest WHERE user = '".$bruger."'";
$result = mysql_query($query)or die("MySQL fejl: " . mysql_error());
$test = mysql_fetch_array($result);

if (isset($test['user'])) {
print("    <font face='verdana' size='2' color='#ff0000'>
        <b>Brugernavnet \"$bruger\" er allerede optaget
        vælg venligst et nyt </b></font><br>
        <font face='verdana' size='2' color='#000000' text-decoration='none'>
        <a href='create.html'>Tilbage</a></font>");
}
else
{
$sql = "INSERT INTO logintest (id, user, pass) VALUES ('', '$bruger', '$pass')";
mysql_query($sql);
print("    <font face='verdana' size='2' color='#669900'>
        <b>    Bruger: $bruger <br>
        Password: $pass <br>
        Er nu oprettet </b></font><br>
        <font face='verdana' size='2' color='#000000' text-decoration='none'>
        <a href='login.php'>Login</a></font>");
        $fp = fopen("".$bruger.".php", "w");
$indhold = "<?php\n session_start();\n include('sider.php');\n if ($_SESSION[status] == $login) { \n echo ''\n }\n else\n {\n print('<script language=\'javascript\'>\n";
$indhold .= "location.href=\'login.php\';\n </script>');\n }\n ?>\n <html>\n <head>\n <title>Hemmelig Side</title>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">\n";
$indhold .= "</head>\n <body>\n Hej <?php echo $bruger; ?><br>\n du har fundet den \n Hemmelige Side\n <br>\n <a href='create.html'>Opret ny bruger</a>\n </body>\n </html>\n";
fwrite("$fp", "$indhold");
        }
?>
Avatar billede Slettet bruger
10. september 2003 - 02:05 #1
...
$fp = fopen($bruger.".php", "w") or die("could not open for writing");
...
fwrite($fp, $indhold) or die("could not write to file");

NB! Husk at valider indhold af $bruger grundigt, så man ikke kan overskrive tilfældige .php filer.
Avatar billede Slettet bruger
10. september 2003 - 02:06 #2
PHP skal kunne skrive til det directory du gemmer $bruger.".php" i.
Avatar billede otis Nybegynder
10. september 2003 - 04:09 #3
$indhold .= "</head>\n <body>\n Hej <?php echo $bruger; ?><br>\n du har <- kig selv lige efter.

$indhold .= "</head>\n <body>\n Hej ".$bruger."<br>\n du har...\n";
fwrite($fp,$indhold);


:-)
Avatar billede -xyz- Nybegynder
10. september 2003 - 11:32 #4
det er fordi at eksperten stinker at paste kode i , da den ikke er bred nok... så hver gang jeg har en $indhold betyder det at jeg har en ny linie...
så jeres svar hjælper ikke
Avatar billede -xyz- Nybegynder
10. september 2003 - 11:43 #5
mercur8 skriv et svar så får du point
Avatar billede -xyz- Nybegynder
10. september 2003 - 11:46 #6
hmmmm....

jeg får dette out put til min fil:

<?php
session_start();
include('sider.php');
login = "login";
if ( == login) {
  echo ''
}
else
{
print('<script language=\'javascript\'>
location.href=\'login.php\';
</script>');
}
?>
<html>
<head>
<title>Hemmelig Side</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
Hej <?php echo fgfdio; ?><br>
du har fundet den
Hemmelige Side
<br>
<a href='create.html'>Opret ny bruger</a>
</body>
</html>

den skriver variablens værdi istedet for den egentlige variabel, hvordan får jeg den til at gøre det???
Avatar billede -xyz- Nybegynder
10. september 2003 - 11:50 #7
nevermind, jeg har fået det til at virke
Avatar billede Slettet bruger
10. september 2003 - 13:13 #8
Ok.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester