Criando uma Aplicação Orientada pelo Banco de Dados Com o PHP. I...

https://netbeans.org/kb/docs/php/wish-list-lesson3_pt_BR.html?print=yes

Criando uma Aplicação Orientada pelo Banco de Dados com o PHP Lição 3: Criando um Novo Usuário de Aplicação
Conteúdo do tutorial: 0. Criando uma Aplicação Orientada pelo Banco de Dados com o PHP - Página Principal 1. Criando o Banco de Dados a. Criando um Banco de Dados MySQL b. Criando Tabelas do Banco de Dados Oracle 2. Projetando a Aplicação. Lendo o Banco de Dados 3. => Criando um Novo Usuário de Aplicação Código-fonte da Aplicação da Lição Anterior Adicionando um Link para Começar a Criar um Novo Wisher Criando Novos Arquivos PHP Adicionando um Form HTML para Inserir os Dados de um Novo Wisher Validando Dados e Adicionando-os ao Banco de Dados Exibindo Mensagens de Erro no Form de Entrada Testando a Funcionalidade de Criação do Novo Wisher O Código-fonte da Aplicação após a Lição Atual está Concluído Otimizando o Código Adicionando Segurança. Implementando o Log-in de Usuário da Aplicação Adicionando um Novo Desejo ao Banco de Dados Atualizando e Deletando Entradas no Banco de Dados Melhorando a Aparência da Aplicação Usando a Tecnologia CSS Implantando a Aplicação em um Servidor Web Remoto

4. 5. 6. 7. 8. 9.

Nesta lição, você expande a aplicação com a funcionalidade Criar um Novo Wisher. A implementação afetará o arquivo index.php e os dois novos arquivos criados se chamarão createNewWisher.php e editWishList.php. O caso de uso Criar um Novo Wisher consiste em três etapas: 1. O usuário abre a página inicial index.php e clica no link para registrar. 2. O usuário alterna para a página createNewWisher.php para criar um novo wisher. 3. Após criar um novo wisher, o usuário alterna para editWishList.php, onde ele criará uma lista de desejos para o usuário.

O documento atual é uma parte do tutorial Criando uma Aplicação de Banco de Dados no NetBeans IDE para PHP.

1 de 7

17/09/2013 13:05

As primeiras variáveis passam as credenciais do banco de dados e as outras serão usadas nas operações PHP. você adiciona o código PHP ao createNewWisher. na ordem em que eles são escritos. digite ou cole os blocos de código descritos abaixo desta seção. I. linhas vazias ou espaço em branco. abaixo do bloco PHP: <html> <head> <meta http-equiv="content-type" content="text/html. Na linha em branco. mas você precisa dele agora porque o createNewWisher.php.php editWishList.php faz referência a ele.Criando uma Aplicação Orientada pelo Banco de Dados Com o PHP.php. adicione o texto “Olá!" ao corpo do HTML. Usuários do Banco de Dados Oracle: clique aqui para fazer o download do código-fonte que reflete o estado do projeto depois que a lição anterior estiver concluída. insira o seguinte bloco de código: <br>Still don't have a wish list?! <a href="createNewWisher. ou então. você modificará o createNewWisher..php Em editWishList.php">Create now</a> No qual: Ainda não tem uma lista de desejos?! é o texto exibido na página ao lado do link. Adicione o código a seguir para validar os dados: 1. Adicione uma linha em branco abaixo da tag de fechamento </form>. A posição do bloco do código PHP é importante para permitir o correto funcionamento da instrução de redirecionamento. O código apresenta um form HTML para um usuário inserir o nome e a senha do novo wisher nos campos de texto. charset=UTF-8"> </head> <body> Welcome!<br> <form action="createNewWisher.org/kb/docs/php/wish-list-lesson3_pt_BR. como descrito na Lição 2.. createnewwisher. $dbUsername="phpuser". Adicionando um Link para Começar a Criar um Novo Wisher Abra o index. deixe-o com seu conteúdo default.php" method="POST"> Your name: <input type="text" name="user"/><br/> Password: <input type="password" name="password"/><br/> Please confirm your password: <input type="password" name="password2"/><br/> <input type="submit" value="Register"/> </form> </body> </html> Observação: O tipo senha é um tipo especial de um campo de texto onde os caracteres são substituídos por asteriscos. Inicialize as variáveis.php.php"></a> é o código que implementa um link que abre a página Criar agora é o texto que será exibido como um link. /** other variables */ 2 de 7 17/09/2013 13:05 . createNewWisher.php. Criando Novos Arquivos PHP Crie dois novos arquivos PHP nos arquivos de código-fonte do projeto. Observação: você pode ignorar as advertências do validador HTML.php. O bloco PHP deve estar acima de todo o código HTML.php. $dbPasswd="phpuserpw".php. createNewWisher. Adicione este código ao bloco PHP na parte superior do arquivo. Para o restante desta lição. Validando Dados e Adicionando-os ao Banco de Dados Nesta seção. https://netbeans. Quando o usuário clica no botão "Registrar". Você modificará esse arquivo em lições posteriores.html?print=yes Código-fonte da Aplicação da Lição Anterior Usuários MySQL: clique aqui para fazer o download do código-fonte que reflete o estado do projeto depois que a lição anterior estiver concluída. os dados inseridos são transferidos para validação na mesma página. Adicionando um Form HTML para Inserir os Dados de um Novo Wisher Digite ou cole o seguinte bloco HTML no createNewWisher. No bloco PHP. <a href="createNewWisher. /** database connection credentials */ $dbHost="localhost".

adicione outra cláusula se que verifica se o usuário preencheu o nome do wisher. Para o banco de dados MySQL: if ($_SERVER["REQUEST_METHOD"] == "POST") { if ($_POST["user"]=="") { $userIsEmpty = true. if (!$con) { exit('Connect Error (' . Abaixo das variáveis. } $con = mysqli_connect("localhost". "phpuser". } } 5. 'utf-8'). "localhost/XE").. mysqli_select_db($con. adicione uma cláusula se . } //set the default client character set mysqli_set_charset($con. "wishlist"). ') ' . $_POST["user"]). I. } //set the default client character set mysqli_set_charset($con.. if ($_SERVER["REQUEST_METHOD"] == "POST") { } 3. $wisher = mysqli_query($con. } 4. "phpuserpw"). $passwordIsEmpty = false. mysqli_connect_error()). mysqli_connect_error()). "SELECT id FROM wishers WHERE name='". tentando localizar o número do wisher ID para um nome correspondente ao nome no campo "user"."'"). $m['message']). if ($_SERVER["REQUEST_METHOD"] == "POST") { if ($_POST["user"]=="") $userIsEmpty = true. } Para o banco de dados Oracle: if ($_SERVER['REQUEST_METHOD'] == "POST") { if ($_POST['user'] == "") $userIsEmpty = true. como descrito acima. "phpuserpw"). Se houver tal número de ID. https://netbeans.html?print=yes $userNameIsUnique = true. Adicione o código que estabelece uma conexão de banco de dados. exit('Connect Error' . mysqli_connect_errno() . 'utf-8'). if (!$con) { $m = oci_error().Criando uma Aplicação Orientada pelo Banco de Dados Com o PHP. $passwordIsValid = true. } $con = mysqli_connect("localhost". Caso contrário. "phpuser". if ($wisherIDnum) { 3 de 7 17/09/2013 13:05 . Adicione o código que verifica se um usuário cujo nome corresponde ao campo "user" já existe. $user = mysqli_real_escape_string($con. O parâmetro da cláusula se verifica se a página foi solicitada a partir dela mesma usando o método POST. 2. mysqli_connect_errno() . O código faz isso. Dentro das chaves da cláusula se . $con = oci_connect("phpuser". o valor de $userNameIsUnique é alterado para "false". as validações posteriores não são realizadas e a página é mostrada com campos vazios.org/kb/docs/php/wish-list-lesson3_pt_BR. $password2IsEmpty = false. $wisherIDnum=mysqli_num_rows($wisher). o valor de $userIsEmpty será alterado para verdadeiro. $userIsEmpty = false. Se o campo de texto "user" estiver vazio. Se não for possível estabelecer a conexão. "phpuserpw".$user. o erro de MySQL ou Oracle OCI8 é enviado para a saída. ') ' . if (!$con) { exit('Connect Error (' . Para o banco de dados MySQL: if ($_SERVER["REQUEST_METHOD"] == "POST") { Displaying error messages if ($_POST["user"]=="") { $userIsEmpty = true.

org/kb/docs/php/wish-list-lesson3_pt_BR. o código fecha a conexão do banco de dados e redireciona a aplicação para a página editWishList. } } 6. add it as a new entry in the "wishers" database. Depois de criar a linha. 4 de 7 17/09/2013 13:05 . // Each user name should be unique. 'utf-8'). "phpuserpw". */ if ($_SERVER['REQUEST_METHOD'] == "POST") { /** Check whether the user has filled in the wisher's name in the text field "user" */ if ($_POST['user'] == "") { $userIsEmpty = true. Complete a cláusula se ($_SERVER['REQUEST_METHOD'] == "POST") adicionando o código que insere uma nova entrada no banco de dados "wishers".php. adicione uma série de cláusulasse para verificar se o usuário inseriu e confirmou a senha corretamente. if ($wisherIDnum) { $userNameIsUnique = false. OCI_ASSOC). Para o banco de dados MySQL: /** Check that the page was requested from itself via the POST method. Caso contrário. if (!$con) { $m = oci_error(). $wisherID = null. ') ' . } } Para o banco de dados Oracle: if ($_SERVER['REQUEST_METHOD'] == "POST") { if ($_POST['user'] == "") $userIsEmpty = true. $_POST['user']). $user = mysqli_real_escape_string($con. if ($_POST["password"]!=$_POST["password2"]) { $passwordIsValid = false. $_POST['password']). */ if (!$userIsEmpty && $userNameIsUnique && !$passwordIsEmpty && !$password2IsEmpty && $passwordIsValid) { $password = mysqli_real_escape_string($con. "phpuserpw"). if ($_POST['password2'] == "") $password2IsEmpty = true. $stid = oci_parse($con. } //set the default client character set mysqli_set_charset($con. $query). if ($_POST["password"]=="") $passwordIsEmpty = true. de uma nova linha no banco de dados wishers. } /** Check whether the boolean values show that the input data was validated successfully.Criando uma Aplicação Orientada pelo Banco de Dados Com o PHP."'"). if (!$con) { exit('Connect Error (' . exit('Connection Error ' . "SELECT id FROM wishers WHERE name='". * After adding the new entry. } $query = "SELECT id FROM wishers WHERE name = :user_bv". /** Check whether a user whose name matches the "user" field already exists */ mysqli_select_db($con. Com do código que verifica se o usuário sendo único.. if ($row){ $userNameIsUnique = false. I. close the connection and redirect the application to editWishList. Se as condições forem atendidas. oci_execute($stid). $user). mysqli_connect_errno() . mysqli_connect_error()). } /** Check whether a password was entered and confirmed correctly */ if ($_POST['password'] == "") $passwordIsEmpty = true. $m['message']). $wisher = mysqli_query($con. $wisherIDnum=mysqli_num_rows($wisher). * If the data was validated successfully. ':user_bv'. O código verifica se o nome do wisher é especificado exclusivamente e se a senha é indicada e confirmada validamente. if ($_POST["password2"]=="") $password2IsEmpty = true. O código verifica se os campos Senha ("password") e Confirmar senha ('password2) não estão vazios no form e não são idênticos. $con = oci_connect("phpuser". o código pegará os valores "user" e "password" do form HTML e os inserirá nas colunas Nome e Senha. "phpuser". oci_bind_by_name($stid. os valores das variáveis boolianas correspondentes são alterados de acordo.php. $row = oci_fetch_array($stid.. if ($_POST['password'] != $_POST['password2']) { $passwordIsValid = false.html?print=yes $userNameIsUnique = false. "wishlist").} 7. $user = $_POST['user']. Check if the submitted user already exists. } /** Create database connection */ $con = mysqli_connect("localhost".$user. respectivamente. "localhost"). https://netbeans.

$con = oci_connect("phpuser". oci_free_statement($stid). "')"). * If the data was validated successfully.php'). add it as a new entry in the "wishers" database. $user). } /** Check whether the boolean values show that the input data was validated successfully. mysqli_free_result($wisher). oci_bind_by_name($stid. '" . "localhost/XE". Insira o seguinte bloco de código PHP dentro do form de entrada HTML. "INSERT wishers (name.php.Criando uma Aplicação Orientada pelo Banco de Dados Com o PHP. } if ($wisherID != null) { $userNameIsUnique = false. } } Para o banco de dados Oracle: if ($_SERVER['REQUEST_METHOD'] == "POST") { if ($_POST['user'] == "") $userIsEmpty = true. mysqli_close($con). password) VALUES ('" . $query). if ($_POST['password2'] == "") $password2IsEmpty = true. oci_bind_by_name($stid. Check if the submitted user already exists. * After adding the new entry. if (!$con) { $m = oci_error(). password) VALUES (:user_bv. :pwd_bv)". } } Exibindo Mensagens de Erro no Form de Entrada Agora você deve implementar a exibição das mensagens de erro quando os dados inseridos forem inválidos. oci_close($con). $user = $_POST['user']. I. echo ("<br/>"). } if (!$userNameIsUnique) { echo ("The person already exists. $stid = oci_parse($con. OCI_ASSOC).org/kb/docs/php/wish-list-lesson3_pt_BR. "wishlist"). if ($row) { $wisherID = $row['ID']. exit. "'. $row = oci_fetch_array($stid. } $query = "select ID from wishers where name = :user_bv". $pwd = $_POST['password']. $password . 1. */ if (!$userIsEmpty && $userNameIsUnique && !$passwordIsEmpty && !$password2IsEmpty && $passwordIsValid) { $query = "INSERT INTO wishers (name. Please check the spelling and try again"). A implementação é baseada nas validações e alterações nos valores das variáveis boolianas descritas em Validando Dados e Adicionando-os ao Banco de Dados. ':user_bv'. echo ("<br/>"). oci_execute($stid).. exit. } ?> 2. //Each user name should be unique. https://netbeans. $user . header('Location: editWishList.php'). please!"). $user). ':pwd_bv'. oci_bind_by_name($stid. mysqli_query($con. $query). ':user_bv'. close the connection and redirect the application to editWishList. Insira o seguinte bloco de código PHP dentro do form de entrada HTML abaixo do código da entrada de senha: 5 de 7 17/09/2013 13:05 .. if ($_POST['password'] != $_POST['password2']) { $passwordIsValid = false. "\n". "AL32UTF8"). header('Location: editWishList. $wisherID = null. abaixo da entrada do nome do wisher: Welcome!<br> <form action="createNewWisher.html?print=yes mysqli_select_db($con. echo $m['message']. exit. oci_execute($stid). $stid = oci_parse($con.php" method="POST"> Your name: <input type="text" name="user"/><br/> <?php if ($userIsEmpty) { echo ("Enter your name. } //Check for the existence and validity of the password if ($_POST['password'] == "") $passwordIsEmpty = true. $pwd). "phpuserpw".

echo ("<br/>"). Na página de índice. } if (!$password2IsEmpty && !$passwordIsValid) { echo ("The passwords do not match!"). please!"). https://netbeans. 6. echo ("<br/>").php: 6 de 7 17/09/2013 13:05 . Preencha os campos Senha e Confirme sua senha com valores diferentes e clique em Registrar. Uma mensagem de erro é exibida. A página de índice abre.org/kb/docs/php/wish-list-lesson3_pt_BR. } ?> Testando a Funcionalidade da Criação do Novo Wisher 1. preencha os outros campos corretamente e clique em Registrar. echo ("<br/>").html?print=yes Password: <input type="password" name="password"/><br/> <?php if ($passwordIsEmpty) { echo ("Enter the password.. Insira o nome de um wisher registrado. mas o redirecionamento foi passado corretamente já que o URL termina com editWishList. please"). I. A página exibida está vazia. Uma mensagem de erro é exibida. Uma mensagem de erro é exibida 4. 2. especifique a mesma senha em ambos os campos de senha e clique em Registrar. Execute a aplicação. Insira Bob no campo Seu nome..Criando uma Aplicação Orientada pelo Banco de Dados Com o PHP. Deixe estes campos em branco e clique em Registrar. 5. clique no link ao lado do texto Ainda não possui uma lista de desejos? O seguinte form abre: 3. Tom no campo Seu nome. Insira os seguintes blocos de código PHP dentro do form de entrada HTML abaixo do código de confirmação de senha: Please confirm your password: <input type="password" name="password2"/><br/> <?php if ($password2IsEmpty) { echo ("Confirm your password. } ?> 3. por exemplo.

org. https://netbeans.org/kb/docs/php/wish-list-lesson3_pt_BR.html?print=yes 7. Para verificar se os dados estão armazenados no banco de dados.. selecione Visualizar Dados O código-fonte da Aplicação após a Lição Atual está Concluído Usuários do MySQL: clique aqui para fazer o download do código-fonte que reflete o estado do projeto depois que a lição estiver concluída..netbeans. I. vá para wishers na janela Serviços abaixo do nó wislist1 e no menu de contexto. Voltar à Trilha de Aprendizado PHP 7 de 7 17/09/2013 13:05 .Criando uma Aplicação Orientada pelo Banco de Dados Com o PHP. Usuários de banco de dados Oracle: clique aqui para fazer o download do código-fonte que reflete o estado do projeto depois que a lição estiver concluída. Próximas Etapas << Lição anterior Próxima lição >> Voltar à página principal do Tutorial Envie-nos Seu Feedback Para enviar comentários e sugestões. junte-se à lista de correspondência users@php. obter suporte e manter-se informado sobre os desenvolvimentos mais recentes das funcionalidades de desenvolvimento PHP do NetBeans IDE.

Sign up to vote on this title
UsefulNot useful