PhoenixWings Postado Agosto 30, 2010 Denunciar Share Postado Agosto 30, 2010 Boa tarde a todos. Estou com o seguinte trecho de código: $operacao = $_POST["operacao"]; include "conecta_mysqli_administrativo.inc"; if($operacao == "listar"){ $resultado = mysqli_query($conexao, "SELECT * FROM siglas"); $linhas = mysqli_num_rows($resultado); for($i = 0; $i < $linhas; $i++) { $registro = mysqli_fetch_row($resultado); echo "Sigla: $registro[0]<br>"; } } if($operacao == "cadastrar") "<html> ?>E gostaria de saber se é possível abrir uma página com um formulário HTML a partir do "if" de cadastramento. Se for possível, como eu faria para retornar os dados inseridos neste formulário para este arquivo .php? Obrigado pela ajuda. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Portal do Químico Postado Agosto 30, 2010 Denunciar Share Postado Agosto 30, 2010 <?php if($operacao == "cadastrar") { include "arquivo.php"; } else { echo "não e cadastrar"; } ?> Renomei o arquivo .html para .php Ou então faça assim: <?php if($operacao == "cadastrar") { ?> POSTA O CÓDIGO HTML AQUI <?php } else { echo "não e cadastrar"; } ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 PhoenixWings Postado Agosto 30, 2010 Autor Denunciar Share Postado Agosto 30, 2010 Na segunda forma de inserção, devo colocar todo o HTML entre aspas duplas ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 *FIT* Postado Agosto 30, 2010 Denunciar Share Postado Agosto 30, 2010 Se entendi bem, é só fechar o php depois do IF escrever o HTML e depois abrir o PHP novamente. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Portal do Químico Postado Agosto 30, 2010 Denunciar Share Postado Agosto 30, 2010 Na segunda forma de inserção, devo colocar todo o HTML entre aspas duplas ?Não, sem aspas. Copia o codigo do formulário e cole! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 PhoenixWings Postado Agosto 31, 2010 Autor Denunciar Share Postado Agosto 31, 2010 (editado) gente continuando, eu codifiquei esse código de formulário: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Cadastramento</title> </head> <body> <pre> <form action="administra.php" method="POST"> <input type="hidden" name="operacao" value="cadastrar" /> Sigla: <input type="text" name="inseresigla" size="10" maxlength="2"/> Senha: <input type="password" name="inseresenha" size="10" maxlength="10"/> <input type="submit" value="Enviar" name="enviar" /> </form> </pre> </body> </html> e este de PHP: <?php $operacao = $_POST["operacao"]; include "conecta_mysqli_administrativo.inc"; if($operacao == "listar"){ $resultado = mysqli_query($conexao, "SELECT sigla FROM siglas"); $linhas = mysqli_num_rows($resultado); for($i = 0; $i < $linhas; $i++) { $registro = mysqli_fetch_row($resultado); echo "Sigla: $registro[0]<br>"; } } else if($operacao == "cadastrar") { $regSigla = $_POST["inseresigla"]; $regSenha = $_POST["inseresenha"]; $erro = 0; if(empty($regSigla)) { echo "Por favor, insira a sigla."; $erro = 1; } else if(empty($regSenha)) { echo "Por favor, insira a senha."; $erro = 1; } // se não houver nenhum erro na inserção de dados, insere estes na tabela else if($erro == 0) { $resultado = mysqli_query($conexao, "INSERT INTO siglas VALUES ('$regSigla', '$regSenha')"); $linhas = mysqli_affected_rows($conexao); echo "Numero de linhas afetadas: $linhas<br>"; } } ?> Eu gostaria de fazer uma verificação agora: este programa insere siglas e suas respectivas senhas num BD eu gostaria de verificar se certa sigla já foi inserida no BD, ou seja, inserir uma nova sigla apenas se ela já não tiver sido inserida ainda. Editado Agosto 31, 2010 por PhoenixWings Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Portal do Químico Postado Agosto 31, 2010 Denunciar Share Postado Agosto 31, 2010 Vou tentar te ajudar, espera um pouco! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 PhoenixWings Postado Agosto 31, 2010 Autor Denunciar Share Postado Agosto 31, 2010 (editado) Vou tentar te ajudar, espera um pouco!Eu achei que tinha conseguido, tive que modificar o código, agora tá dando um problema de lógica: <?php $operacao = $_POST["operacao"]; include "conecta_mysqli_administrativo.inc"; $resultado = mysqli_query($conexao, "SELECT sigla FROM siglas"); $linhas = mysqli_num_rows($resultado); if($operacao == "listar"){ for($i = 0; $i < $linhas; $i++) { $registro = mysqli_fetch_row($resultado); echo "Sigla: $registro[0]<br>"; } } else if($operacao == "cadastrar") { $registro = mysqli_fetch_row($resultado); // necessário para saber se a sigla já foi inserida na tabela $regSigla = $_POST["inseresigla"]; $regSenha = $_POST["inseresenha"]; $erro = 0; if(empty($regSigla)) { echo "Por favor, insira a sigla."; $erro = 1; } else if(empty($regSenha)) { echo "Por favor, insira a senha."; $erro = 1; } for($i = 0; $i < $linhas; $i++) { // o problema de lógica está nessa linha! // erro: Notice: Undefined offset: 1 in C:\Arquivos de programas\EasyPHP-5.3.2i\www\PaginaAdministrativaWeb\administra.php on line 36 if($registro[$i] == $regSigla) { echo "Esta sigla já foi inserida."; $erro = 1; } } } // se não houver nenhum erro na inserção de dados, insere estes na tabela else if($erro == 0) { $resultado = mysqli_query($conexao, "INSERT INTO siglas VALUES ('$regSigla', '$regSenha')"); $linhas = mysqli_affected_rows($conexao); echo "Numero de linhas afetadas: $linhas<br>"; } ?> Editado Agosto 31, 2010 por PhoenixWings Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 PhoenixWings Postado Setembro 1, 2010 Autor Denunciar Share Postado Setembro 1, 2010 Obrigado a todos pela atenção, eu resolvi o problema. Neste trecho: if($registro[$i] == $regSigla) Eu deveria ter feito na verdade: if($registro[0] == $regSigla)afinal, eu estava tentando acessar as siglas de cada linha e o índice correspondente às siglas era o índice 0. O for só serviu para que eu pudesse obter cada linha para verificação a cada loop. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
PhoenixWings
Boa tarde a todos. Estou com o seguinte trecho de código:
E gostaria de saber se é possível abrir uma página com um formulário HTML a partir do "if" de cadastramento. Se for possível, como eu faria para retornar os dados inseridos neste formulário para este arquivo .php? Obrigado pela ajuda.
Link para o comentário
Compartilhar em outros sites
8 respostass 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.