EStou iniciando em PHP e um amigo me emprestou um livro "Visual Quickstart Guide" mas, na parte de criar e manipular diretórios, parece que tem algo errado. Alguém pode me ajudar dando uma verificada?
Nesse capítulo criamos um script que, quando o usuário efetuar login, criará um novo diretório para ele.
Foi criada uma página de registros simples para pegar o nome de usuário e uma senha:
Após isso, eu criei um arquivo de dados em branco chamado users.txt (salvo no mesmo diretório de newuser.hmt).
Finalmente eu escrevi o script handlenewuser.php, para processar as informações do formulário e criar o novo diretório (salvo também no mesmo diretório dos anteriores):
<?
function makedirectoryname ($username) {
/* Function makedirectoryname takes one argument--username--wich will be used to create and return a directory name.*/
srand ((double) microtime() * 1000000);
$name = rand() . $username;
return $name;
} /* End of makedirectoryname function.*/
function writetofile ($username, $password) {
/* Function writetofile takes two arguments--URL and Description--wich will be written to an external file.*/
print ("Your request was successfuly processed!<br>\n");
} else {
print ("Your request was not processed due to a system error!<br>\n");
}
} else {
print ("Please enter a username and password!\n");
}
?>
</body>
</html>
Quando eu visualizo no navegador, a página de formulário para receber o nome e a senha funcionam mas, quando envio os dados, vem sempre a mesma mensagem que para entrar com um username e um password. Ela não dá como "sua dolicitaçao foi processada com êxito".
Quando eu abro o arquivo users.txt, não existe nenhum registro nele.
Pergunta
fsphp
Oi pessoal,
EStou iniciando em PHP e um amigo me emprestou um livro "Visual Quickstart Guide" mas, na parte de criar e manipular diretórios, parece que tem algo errado. Alguém pode me ajudar dando uma verificada?
Nesse capítulo criamos um script que, quando o usuário efetuar login, criará um novo diretório para ele.
Foi criada uma página de registros simples para pegar o nome de usuário e uma senha:
<html>
<head>
<title>Registration Form</title>
</head>
<body>
<form action="handlenewuser.php" method="post">
Username <input type="text" name="array[username]" size="15"><br>
Password <input type="password" name="array[password]" size="15"><br>
<input type="submit" name="submit" value="ENVIAR">
</form>
</body>
</html>
Essa página foi salva como newuser.html
Após isso, eu criei um arquivo de dados em branco chamado users.txt (salvo no mesmo diretório de newuser.hmt).
Finalmente eu escrevi o script handlenewuser.php, para processar as informações do formulário e criar o novo diretório (salvo também no mesmo diretório dos anteriores):
<?
function makedirectoryname ($username) {
/* Function makedirectoryname takes one argument--username--wich will be used to create and return a directory name.*/
srand ((double) microtime() * 1000000);
$name = rand() . $username;
return $name;
} /* End of makedirectoryname function.*/
function writetofile ($username, $password) {
/* Function writetofile takes two arguments--URL and Description--wich will be written to an external file.*/
$thefile = "users.txt";
$open = fopen ($thefile, "a");
if ($open) {
$password = md5 ($password);
$directory = "users/".makedirectoryname ($username);
fwrite ($open, "$username\ t$password\ t$directory\ n");
fclose ($open);
if (!(mkdir($directory, "0777"))) {
$directory = false;
}
} else {
$directory = false;
}
return $directory;
} // End of writetofile function.
?>
<html>
<head>
<title>Using Directories</title></head>
<body>
<?
// This pages receives and handle the data generated by "newusers.html".
if (($array[username]) && ($array[passwoed])) {
$check = writetofile ($array[username], $array[password]);
if ($check) {
print ("Your request was successfuly processed!<br>\n");
} else {
print ("Your request was not processed due to a system error!<br>\n");
}
} else {
print ("Please enter a username and password!\n");
}
?>
</body>
</html>
Quando eu visualizo no navegador, a página de formulário para receber o nome e a senha funcionam mas, quando envio os dados, vem sempre a mesma mensagem que para entrar com um username e um password. Ela não dá como "sua dolicitaçao foi processada com êxito".
Quando eu abro o arquivo users.txt, não existe nenhum registro nele.
Quem consegue descobrir o que está errado?
Valeu pessoal.
FS
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.