PHP variable error
Hejsan, har ett litet problem: mappen (mkdir) skapas men filen som ska kopieras till mappen som skapas kopieras inte.
Felmeddelanden jag får när jag läser in koden är:
Notice: Undefined variable: username in /var/www/hhniserve1/www/mitt-pv/users/register.php on line 71
Warning: mkdir(): No such file or directory in /var/www/hhniserve1/www/mitt-pv/users/register.php on line 71
Warning: copy(/mitt-pv/files-to-copy/index.php): failed to open stream: No such file or directory in /var/www/hhniserve1/www/mitt-pv/users/register.php on line 76
failed to copy
PHP kod:
<?php
require_once("functions.php");
require_once("db-const.php");
session_start();
if (logged_in() == true) {
redirect_to("profile.php");
}
?>
<html>
<head>
<title>Registrera dig</title>
</head>
<body>
<!-- The HTML registration form -->
<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
Användarnamn: <input type="text" name="username" /><br />
Lösenord: <input type="password" name="password" /><br />
Förnamn: <input type="text" name="first_name" /><br />
Efternamn: <input type="text" name="last_name" /><br />
Email: <input type="type" name="email" /><br />
<input type="submit" name="submit" value="Register" />
<a href="login.php">Jag har redan ett konto...</a>
</form>
<?php
if (isset($_POST['submit'])) {
$mysqli = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
if ($mysqli->connect_errno) {
echo "<p>MySQL error no {$mysqli->connect_errno} : {$mysqli->connect_error}</p>";
exit();
}
$username = $_POST['username'];
$password = $_POST['password'];
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$email = $_POST['email'];
$exists = "";
$result = $mysqli->query("SELECT username from users WHERE username = '{$username}' LIMIT 1");
if ($result->num_rows == 1) {
$exists .= "u";
}
$result = $mysqli->query("SELECT email from users WHERE email = '{$email}' LIMIT 1");
if ($result->num_rows == 1) {
$exists .= "e";
}
if ($exists == "u") echo "<p> Användarnamnet finns redan i databasen! </p>";
else if ($exists == "e") echo "<p>E-posten finns redan registrerad på ett annat konto!</p>";
else if ($exists == "ue") echo "<p><b>Error:</b>Användarnamnet och e-postadressen finns redan i databasen!</p>";
else {
# insert data into mysql database
$sql = "INSERT INTO `users` (`id`, `username`, `password`, `first_name`, `last_name`, `email`)
VALUES (NULL, '{$username}', '{$password}', '{$first_name}', '{$last_name}', '{$email}')";
if ($mysqli->query($sql)) {
redirect_to("/mitt-pv/profile.php");
} else {
echo "<p>MySQL error no {$mysqli->errno} : {$mysqli->error}</p>";
exit();
}
}
}
mkdir($username, 0777);
$file = '/mitt-pv/files-to-copy/index.php';
$newfile = '$username."/choose.php';
if (!copy($file, '$newfile')) {
echo "failed to copy";
}
?>
</body>
</html>
har läst runt på nätet och kollat igenom skriptet flera gånger men hittar inget fel
MVH ☺