Kitana 0 Denunciar post Postado Dezembro 4, 2003 Oi pessoalEstou fazendo um site no qual a pessoa cadastra o fã clube e o cadastro vai p/ o BD. A página do formulário é "fclubes.html" e a página de resposta é "resp.php". Na página de resposta eu coloquei o código php dentro de uma célula de tabela e o problema é que qdo ele exibe a página ele só exibe até a parte do php. O resto do código da tabela como fotos, informações, etc. simplesmente não aparecem. É normal acontecer isso?De qquer forma obrigada ;-) Compartilhar este post Link para o post Compartilhar em outros sites
_ nEoN _ 0 Denunciar post Postado Dezembro 4, 2003 Posta o Código pra gente poder ver aonde está o erro ! :D Compartilhar este post Link para o post Compartilhar em outros sites
Kitana 0 Denunciar post Postado Dezembro 5, 2003 Esse é o código da página "resp_fclubes.php". <!-- <html> <body bgcolor="#000000"> <table width="775" border="0" cellpadding="0" cellspacing="0" align="center" valign="top"> <tr> <td align="center" colspan="2"> <!-- INÍCIO DO TOPO --> <iframe src="topo.html" frame name="topo" width="775" height="135" scrolling="no" frameborder="0"> Your browser does not support inline frames </iframe> <!-- FIM DO TOPO --> </td> </tr> <tr> <td align="center" width="189" valign="top"> <!-- ESQUERDA --> <table width="189" border="0" cellpadding="0" cellspacing="0" align="center" valign="top"> <tr> <td align="center" width="189" height="217"> <iframe src="menu.html" frame name="menu" width="189" height="217" scrolling="no" frameborder="0"> Your browser does not support inline frames </iframe> </td> </tr> <tr> <td align="center"> <iframe src="stuff.html" frame name="stuff" width="189" height="355" scrolling="no" frameborder="0"> Your browser does not support inline frames </iframe> </td> </tr> </table> <!-- FIM DA PARTE ESQUERDA --> </td> <td align="center" width="586" valign="top"> <!-- CENTRO --> <table width="586" border="0" cellpadding="0" cellspacing="0" align="center" valign="top"> <tr> <td align="center" colspan="2"><img src="fclubes_titulo.gif" width="586" height="35"></td> </tr> <tr> <td colspan="2">1</td> </tr> <tr> <td colspan="2">1</td> </tr> <tr> <td colspan="2">1</td> </tr> <tr> <td colspan="2"> <!-- PHP DE RESPOSTA --> <?php //Elimina espaços em branco no início ou no final $presidente = trim($presidente); $nomefclube = trim($nomefclube); $mail = trim($mail); $url = trim($url); $outrasinformacoes = trim($outrasinformacoes); //Verifica se algo não foi preenchido corretamente if (!$presidente) { echo '<div class="font1" align="center">Você esqueceu de preencher o campo <b>"Nome do(a) presidente do fã clube"</b>. Por favor, retorne a página anterior e tente novamente.<br><br><br><br><a href="fclubes.html"><div class="font2" align="center"><u>Voltar</u></div></a></div>'; exit; } else if (!$nomefclube) { echo '<div class="font1" align="center">Você esqueceu de preencher o campo <b>"Nome do fã clube"</b>. Por favor, retorne a página anterior e tente novamente.<br><br><br><br><a href="fclubes.html"><div class="font2" align="center"><u>Voltar</u></div></a></div>'; exit; } else if (!$mail) { echo '<div class="font1" align="center">Você esqueceu de preencher o campo <b>"E-mail para contato"</b>. Por favor, retorne a página anterior e tente novamente.<br><br><br><br><a href="fclubes.html"><div class="font2" align="center"><u>Voltar</u></div></a></div>'; exit; } $mail = strtolower($mail); // $email recebe $email em minúsculo //Verifica a validade do email if (!eregi('^[a-zA-Z0-9_\-\.]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$', $mail)) { echo '<div class="font1" align="center">Este não é um endereço de e-mail válido. Por favor, retorne a página anterior e tente novamente.<br><br><br><br><a href="fclubes.html"><div class="font2" align="center"><u>Voltar</u></div></a></div>'; exit; } //Filtra os caracteres de controle $presidente = addslashes($presidente); $nomefclube = addslashes($nomefclube); $mail = addslashes($mail); $url = addslashes($url); $outrasinformacoes = addslashes($outrasinformacoes); //Conecta-se ao servidor @ $bd = mysql_pconnect('localhost', 'Monique', ''); //Verifica se houve conexão if (!$bd) { echo 'Erro na conexão com o banco.'; exit; } //Seleciona o banco mysql_select_db('nirvanainutero'); //Insere no banco $insere = "insert into fclubes values('".$presidente."', '".$nomefclube."', '".$mail."', '".$url."', '".$outrasinformacoes."')"; $resultado = mysql_query($insere); if ($resultado) echo '<div class="font1" align="center">O cadastro de seu fã clube foi efetuado com sucesso. Brevemente estarei entrando em contato com você<br><br><br><br><a href="home.html"><div class="font2" align="center"><u>Página Principal</u></div></a></div>'; ?> <!-- FIM DO PHP DE RESPOSTA --> </td> </tr> </table> <!-- FIM DO CENTRO --> </td> </tr> <tr> <td colspan="2" align="center"> <iframe src="bottom.html" frame name="bottom" width="775" height="51" scrolling="no" frameborder="0"> Your browser does not support inline frames </iframe> </td> </tr> </table> </body> </html> --> Quando o cadastro é feito com sucesso aparece tudo, mas quando dá algum erro como "esse não é um e-mail válido" ou "você esqueceu de preencher o campo nome do presidente", não aparece a página "bottom.html" Compartilhar este post Link para o post Compartilhar em outros sites
walace 1 Denunciar post Postado Dezembro 5, 2003 Você está usando a função exit que faz com que o script seja encerrado quando ela é executada. Pode ser que seja um problema em sua lógica e está entrando onde não deve. Sugiro que tente outra solução (else ou altere sua lógica) a usar esta função. Compartilhar este post Link para o post Compartilhar em outros sites
Kitana 0 Denunciar post Postado Dezembro 5, 2003 Entendi Será q se eu tirar o exit dará certo? você teria alguma sugestão com oq eu possa fazer? Estou começando a aprender php agora, por isso ainda tenho muitas dúvidas. Se você puder ajudar eu agradeço. Desde já obrigada :-) Compartilhar este post Link para o post Compartilhar em outros sites
Kitana 0 Denunciar post Postado Dezembro 8, 2003 Se alguém também tiver alguma sugestão eu agradeçoValeu :-) Compartilhar este post Link para o post Compartilhar em outros sites
walace 1 Denunciar post Postado Dezembro 8, 2003 ... Será q se eu tirar o exit dará certo? você teria alguma sugestão com oq eu possa fazer? ... Você tentou tirar o exit ? :unsure: Tente e qualquer coisa manda o codigo novamente. Compartilhar este post Link para o post Compartilhar em outros sites
Keitaro 0 Denunciar post Postado Dezembro 8, 2003 Tirando o exit n fara diferenca, pq você esta usando IF, ou seja, so sera executado o que esta dentro da condicao.O exit é usado, quando você deseja que o codigo seja finalizado, forcadamente, para que n prossiga o resto. Isso é mto usado em casos de login e etc, que você necessita interromper a execucao quando é encontrado algo FALSE.Se você fez as condicoes (IF) corretamente, elimine todos os exit que so sera executado o que você quer.Eu so n entendi o que quis dizer com sugestao? Sugestao no que? Compartilhar este post Link para o post Compartilhar em outros sites
Kitana 0 Denunciar post Postado Dezembro 9, 2003 Oi pessoalQdo eu pedi sugestões no q fazer, me referi a se de repente alguém já passou por algo parecido e conseguiu resolver o problema ou se por um acaso alguém tivesse um código diferente q eu pudesse testar. Como já disse anteriormente, estou aprendendo php agora, por isso tenho muitas dúvidas. De qquer forma valeu pelas dicas e eu vou tentar dar um jeito.Valeu ;-) Compartilhar este post Link para o post Compartilhar em outros sites
Keitaro 0 Denunciar post Postado Dezembro 9, 2003 Ah tah... hum.. olhando o codigo, acho uma boa você comecar a trabalhar com function, n sei se você jah mexeu, mas é uma boa e isso minimiza o codigo. Se você jah viu outras linguagens, principalmene JavaScript sabe que é comum o uso de funcoes. De uma visao simples seria criar um miniscript destinado a algo especifico. estrutura: function <nome_da_function> { ... } Exemplo function soma($x,$y) { echo ($x+$y); } para você chamar a funcao basta usar: soma(1,2); e ele retornara 3. Desse modo você podre criar mini scripts de rotina. No seu caso você cria varias vezes a mesma verificacao, ver se a variavel esta preenhida ou n, e retorna uma msg semelhante. Melhorando, poderia ser feito assim: function verifica($variavel) { if( empty($variavel) ) { echo "você n preencheu corretamente o campo $variavel."; exit; } } Basta você chamar na pagina: verifica($nome); Agora você pode fazer de varios jeitos, usando AND/OR você poderia fazer uma condicao pra todas as variaveis... if ($nome AND $email AND $enderecos) { echo "preencha todos os codigos corretamente"; } Ou seja, ele so retorna se todos os campos forem verdadeiros (preenchidos) Na realidade tem muitos metodos de se fazer isso, mas estes sao os comuns. Um coisa interessante de se saber é que quando se usa if($nome) ele so é aceito se $nome tiver valor ("verdade"). Assim você pode usar fucao + if desse modo: function ($numero > 10) return 0; else return 1; return 0 = FALSE ||| return 1 = TRUE ou seja se você chamar $x =11; if( numero($x) ) { echo "$x é maior que 10"; } Espero ter ajudado, e que n da pra aprender tudo, isso vem com o tempo, mas a melhor dica que eu tenho é baixar a documentacao do PHP (formato help) assim você tem search e pode ver offline, e se vier duvidas procure no Hotscrips.com (scripts semelhantes ao que você quiser) ou use o google e busque em ingles/portugues palavras chaves com relacao a sua duvida. E se n solucionar retorne ao forum. Mas, quem n qr pagar tem de aprender sozinho e é o que a mioria faz. Compartilhar este post Link para o post Compartilhar em outros sites
Kitana 0 Denunciar post Postado Dezembro 10, 2003 Pow Keitaro, valeu...qdo eu crescer, kero ser igual a você :-)Vou salvar suas dicas e depois q eu formatar meu PC, vou testar desse modo q você me explicou.Thanks Compartilhar este post Link para o post Compartilhar em outros sites