victor.guiraldelli Postado Fevereiro 17, 2016 Denunciar Share Postado Fevereiro 17, 2016 (editado) Boa tarde. Estou tentando aprender um pouco de PHP com uns cursos online, mas estou tendo este problema. Alguém sabe o por que está acontecendo isso e como resolver? Parece o apache ou navegador não entende direito a junção do html com o php. Testando o While em um arquivo.php sem os html, funciona perfeitamente. Editado Fevereiro 23, 2016 por victor.guiraldelli Atualizando para resolvido. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 eiglimar Postado Fevereiro 17, 2016 Denunciar Share Postado Fevereiro 17, 2016 Olá tudo bem? Posta o html seu aqui por favor Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MLeandroJr! Postado Fevereiro 17, 2016 Denunciar Share Postado Fevereiro 17, 2016 Ele não está rodando porque seu arquivo tem extensão .html. Para um PHP rodar, ele precisa ter extensão .php. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 victor.guiraldelli Postado Fevereiro 18, 2016 Autor Denunciar Share Postado Fevereiro 18, 2016 (editado) 23 horas atrás, eiglimar disse: Olá tudo bem? Posta o html seu aqui por favor Obrigado, consegui resolver com a resposta do Leandro. 22 horas atrás, MLeandroJr! disse: Ele não está rodando porque seu arquivo tem extensão .html. Para um PHP rodar, ele precisa ter extensão .php. Obrigado pela ajuda, uma coisa bem besta mas que eu não sabia, achei que por ter HTML teria que ser .html. Agora estou com outro problema, está falhando os caracteres especiais na busca do mysql que o php faz e joga pra página. ps: O characterer_set_server no terminal está mostrando latin, enquanto no phpmyadmin mostra utf8, não entendi... E se no phpmyadmin está como padrão utf8, quando eu crio uma nova base de dados ou tabela, deveria vir automaticamente como utf8 se eu não selecionar a Collation certo? Ou não? Porque quando crio sem especificar, fica tudo como latin. Esta base de dados da LOJA eu coloquei UTF8 manualmente. Estou usando MariaDB. Alguma idéia? Editado Fevereiro 18, 2016 por victor.guiraldelli Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 luanulrich Postado Fevereiro 18, 2016 Denunciar Share Postado Fevereiro 18, 2016 Insira isto: mysql_query("SET NAMES 'utf8'"); mysql_query('SET character_set_connection=utf8'); mysql_query('SET character_set_client=utf8'); mysql_query('SET character_set_results=utf8'); Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Beraldo Postado Fevereiro 19, 2016 Denunciar Share Postado Fevereiro 19, 2016 Lembrando que funções mysql_* estão obsoletas desde o PHP 5.5 e já foram removidas no PHP 7. Prefira usar MySQLi ou PDO. Veja mais aqui: http://rberaldo.com.br/mysql-obsoleto-php/ Se esse seu curso ensina a usar funções mysql_*, é melhor parar por aí e seguir um curso mais recente, como o ULTIMATE PHP 2.0, por exemplo. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 victor.guiraldelli Postado Fevereiro 19, 2016 Autor Denunciar Share Postado Fevereiro 19, 2016 17 horas atrás, luanulrich disse: Insira isto: mysql_query("SET NAMES 'utf8'"); mysql_query('SET character_set_connection=utf8'); mysql_query('SET character_set_client=utf8'); mysql_query('SET character_set_results=utf8'); Ficou do mesmo jeito :/ 14 horas atrás, Beraldo disse: Lembrando que funções mysql_* estão obsoletas desde o PHP 5.5 e já foram removidas no PHP 7. Prefira usar MySQLi ou PDO. Veja mais aqui: http://rberaldo.com.br/mysql-obsoleto-php/ Se esse seu curso ensina a usar funções mysql_*, é melhor parar por aí e seguir um curso mais recente, como o ULTIMATE PHP 2.0, por exemplo. É um curso que estava num site que a facul passou, para horas complementares. Mas obrigado pelos links, vou verificar esse Ultimate php 2.0. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 victor.guiraldelli Postado Fevereiro 19, 2016 Autor Denunciar Share Postado Fevereiro 19, 2016 18 horas atrás, Beraldo disse: Lembrando que funções mysql_* estão obsoletas desde o PHP 5.5 e já foram removidas no PHP 7. Prefira usar MySQLi ou PDO. Veja mais aqui: http://rberaldo.com.br/mysql-obsoleto-php/ Se esse seu curso ensina a usar funções mysql_*, é melhor parar por aí e seguir um curso mais recente, como o ULTIMATE PHP 2.0, por exemplo. Migrei tudo para Mysqli, e continua do mesmo jeito. O problema dos caracteres especiais acontece apenas no resultado da query que vem do banco de dados, exatamente como na print que postei. Tentei colocar $mysqli->set_charset('utf8')); Mas com esse comando a pagina não carrega nada, fica toda em branco. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 victor.guiraldelli Postado Fevereiro 23, 2016 Autor Denunciar Share Postado Fevereiro 23, 2016 Encontrei a solução. Bastava colocar um $mysqli->set_charset("utf8"); Segue o código verificando o charset e alterando: printf ("Initial character set: %s\n<hr>", $mysqli->character_set_name()); if (!$mysqli->set_charset("utf8")) { printf("Error loading character set utf8: %s\n", $mysqli->error); exit(); } else { printf("Current character set: %s\n<hr>", $mysqli->character_set_name()); } Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
victor.guiraldelli
Boa tarde.
Estou tentando aprender um pouco de PHP com uns cursos online, mas estou tendo este problema.
Alguém sabe o por que está acontecendo isso e como resolver?
Parece o apache ou navegador não entende direito a junção do html com o php.
Testando o While em um arquivo.php sem os html, funciona perfeitamente.
Atualizando para resolvido.
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.