johnhey 0 Denunciar post Postado Agosto 27, 2015 Bom dia pessoal, fiz a seguinte concatenação, mais não esta a funcionar, o que esta errado? <?PHP //capitura os dados do formulario $usuario=$_POST['usuario']; $senha=$_POST['senha']; if($row > 0) { session_start(); $_SESSION['email']=$_POST['usuario']; $_SESSION['senha']=$_POST['senha']; echo "<script type='text/javascript'>"; //concatenação desta linha echo "alert('Login efectuado com sucesso!', chr(13), 'Seja bem vindo').$usuario"; echo "</script>"; echo "<script>loginsucesso()</script>"; }else { echo "<script type='text/javascript'>"; echo "alert('Usuário ou senha Inválido, por favor verifique!')"; echo "</script>"; echo "<script>loginfalhou()</script>"; } ?> também já tentei: echo "alert('Login efectuado com sucesso!' <br> 'Seja bem vindo').$usuario"; e echo "alert('Login efectuado com sucesso!' \n 'Seja bem vindo').$usuario"; Compartilhar este post Link para o post Compartilhar em outros sites
Diegus Miestro 21 Denunciar post Postado Agosto 27, 2015 Seu erro está no no alert, colei aqui e alterei para echo "alert('Login efectuado com sucesso! Seja bem vindo {$usuario}')"; Funcionou de boa. Compartilhar este post Link para o post Compartilhar em outros sites
johnhey 0 Denunciar post Postado Agosto 27, 2015 ok, obrigado e funcionou realmente, mas falta colocar seja bem vinda numa segunda linha, ai que não esta a funcionar. Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Agosto 27, 2015 Basta um \n: echo "alert('Login efectuado com sucesso!\nSeja bem vindo {$usuario}')"; Compartilhar este post Link para o post Compartilhar em outros sites
johnhey 0 Denunciar post Postado Agosto 27, 2015 coloquei conforme indicou e dá o seguinte erro: Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /htdocs/public/www/autenticacao.php:5) in /htdocs/public/www/autenticacao.php on line 37 Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Agosto 27, 2015 Não pode haver saídas ao navegador antes de session_start Veja http://rberaldo.com.br/as-mensagens-de-erros-mais-comuns-do-php/#header Compartilhar este post Link para o post Compartilhar em outros sites
johnhey 0 Denunciar post Postado Outubro 20, 2015 Desculpe Beraldo mais infelizmente não consigo chegar lá. Coloquei a linha conforme me indicou, conferi tudo conforme na videoaula que vi, mais não funciona. Se eu coloco da seguinte forma: Login.php <!DOCTYPE HTML> <html lang="pt-br" debug="true" style="height: 100%;"> <head> <title>Reborn Imaginações de Bebés - Bebés Reborn Portugal</title> <!-- Leitura do Javascript --> <script type="text/javascript" src=".ficheiros_login/js/jquery.js"></script> <script type="text/javascript" src=".ficheiros_login/js/jquery.query-2.1.7.js"></script> <script type="text/javascript" src=".ficheiros_login/js/rainbows.js"></script> <script> $(document).ready(function(){ $("#submit1").hover( function() { $(this).animate({"opacity": "0"}, "slow"); }, function() { $(this).animate({"opacity": "1"}, "slow"); }); }); </script> </head> <body> <form name="loginform" method="post" action="autenticacao.php"> <input type="text" name="usuario" id="url" value="Usuário" onclick="this.value = ''"> <input type="password" name="senha" id="url" value="Senha" onclick="this.value = ''"> <input type="image" src="ficheiros_login/images/submit_hover.png" id="submit1" value="Entrar"> <input type="image" src="ficheiros_login/images/submit.png" id="submit2" value="Entrar"> </form> <footer id="rodapepg"> <h3>Caso encontre algum erro em nosso site, por favor queira reportar para suporte@rebornimaginacoesdebebes.com.pt</h3> © - Todos os direitos de autor reservados a John Hebert Trindade - webdesign </footer> </body> Autenticacao.php <?php //Conecta ao servidor com o usuário e senha $conexao = mysql_connect("local","usuario","senha") or die (mysql_error()); //Nome do banco de dados $bd = mysql_select_db("nome do_banco", $conexao) or die (mysql_error()); ?> <html> <head> <script type='text/javascript'> function loginsucesso(){ setTimeout("window.location='galeria.php'",1500); } function loginfalhou(){ setTimeout("window.location='login.php'",1500); } </script> </head> <body> <?php //capitura os dados do formulario $usuario=$_POST['usuario']; $senha=$_POST['senha']; //pesquisa dados no BD $sql = mysql_query("SELECT * FROM tb_usuario WHERE usuario = '$usuario' and senha = '$senha' ORDER BY registo") or die(mysql_error()); $row = mysql_num_rows($sql); if($row > 0){ $_SESSION['usuario']=$_POST['usuario']; $_SESSION['senha']=$_POST['senha']; echo "<script type='text/javascript'>"; //***QUANDO COLOCO DESTA FORMA NÃO DÁ ERRO, NÃO DA NADA, SEMPRE REDIRECIONA PARA A PAGINA DE LOGIN, ESTANDO A SENHA CERTA OU ERRADA ***// echo "alert('Login efectuado com sucesso!\nSeja bem vindo {$usuario}')"; //***QUANDO COLOCO DESTA FORMA, QUANDO A SENHA E USUÁRIO ESTÃO INCORRECTOS NÃO ME DA ERRO NENHUM, NEM MENSAGEM, APENAS REDIRECIONA PARA A PAGINA DE LOGIN, MAS SE USUÁRIO E SENHA ESTIVER CORRECTOS, APARECE A MENSAGEM, MAS NÃO REDIRECIONA PARA A PAGINA GALERIA.PHP***// echo "alert('Login efectuado com sucesso! Seja bem vindo {$usuario}')"; //***QUANDO COLOCO DESTA FORMA, FUNCIONA AS MENSAGENS, DIZENDO SE O LOGIN FOI EFECTUADO COM SUCESSO OU SE ESTÃO INCORRECTAS, MAS NÃO REDICIONA PARA A PÁGINA GALERIA.PHP, VOLTA SEMPRE PARA LOGIN.PHP***// echo "alert('Login efectuado com sucesso! Seja bem vindo')"; echo "</script>"; echo "<script>loginsucesso()</script>"; }else{ echo "<script type='text/javascript'>"; echo "alert('Usuário ou senha Inválido, por favor verifique!')0"; echo "</script>"; echo "<script>loginfalhou()</script>"; } ?> </body> </html> Espero ter sido claro, por favor ajudem-me Compartilhar este post Link para o post Compartilhar em outros sites
johnhey 0 Denunciar post Postado Outubro 20, 2015 Se acrescento "session_start();" ele redireciona, mas não dá nenhuma mensagem do alert. if($row > 0){ session_start(); $_SESSION['usuario']=$_POST['usuario']; $_SESSION['senha']=$_POST['senha']; echo "<script type='text/javascript'>"; e da o seguinte erro: Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /htdocs/public/www/autenticacao.php:13) in /htdocs/public/www/autenticacao.php on line 32 Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Outubro 20, 2015 [...] Em suma, antes de funções como session_start, setcookie e header não pode existir NENHUMA saída ao navegador. Isso inclui qualquer código HTML, echo, print ou um simples espaço em branco antes da tag de abertura do PHP (<?php). Se o script que está gerando o erro faz inlude/require de outro script, verifique esse outro também. Fonte No seu código, tem um monte de html antes do session_start... O problema começa aí... Compartilhar este post Link para o post Compartilhar em outros sites
johnhey 0 Denunciar post Postado Outubro 23, 2015 Com relação a querer dividir o alert em duas linhas a forma correcta que funcionou foi: echo "alert('Login efectuado com sucesso!\\nSeja bem vindo {$usuario}')"; tive que adicionar \\n e não \n como haviam me dito, sei que apenas com \n em alguns casos funciona, mais no meu infelizmente não resultou. Compartilhar este post Link para o post Compartilhar em outros sites