← PHP

Erro variáveis de ambiente.

Lida 12976 vezes

Offline

johndays 
Membro
Mensagens 387 Gostos 1
Feedback +3

Troféus totais: 24
Trófeus: (Ver todos)
Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 4 Level 3 Level 2 Level 1 100 Posts

Código: (php) [Seleccione]
$ip=$_SERVER['REMOTE_ADDR'];
Já alterei o register_globals no php.ini para On, no entanto, continua-me a dar este erro :

Parse error: syntax error, unexpected T_VARIABLE, expecting ',' or ';' in  ...

Certamente que os mais experientes em php sabem do que estou a falar ... e devem ter passado por este erro no início.

Obrigado!
Offline

Souza 
Elite
Mensagens 1816 Gostos 1
Troféus totais: 28
Trófeus: (Ver todos)
Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1

Tens acesso ao php_ini no teu servidor? :S

Para te dar esse erro não podes só ter essa linha de código...
Offline

johndays 
Membro
Mensagens 387 Gostos 1
Feedback +3

Troféus totais: 24
Trófeus: (Ver todos)
Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 4 Level 3 Level 2 Level 1 100 Posts

O problema foi que me tinha esquecido de um ";" . :superlol:

Para não estar a criar sempre posts do género, alguém me sabes-me explicar porque é que o input do formulário não vai devidamente correcto para a base de dados? Estou a falar da acentuação em strings.

http://gamespt.net/testes/torneio.php

Tens aqui um exemplo. Posso colocar aqui o código, mudei também o valor de Collation para utf8_general de cada campo, mas não resolveu-me o problema.

Obrigado mais uma vez Souza!
Offline

Souza 
Elite
Mensagens 1816 Gostos 1
Troféus totais: 28
Trófeus: (Ver todos)
Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1

EDIT: Só li agora que o problema é logo no input dos dados na db, experimenta modificar no <head> do teu formulário de submissão de utf-8 para iso-8859-1

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

Deve ser suficiente, se não for fazemos aí uma manhozisse


Não sei como estás a fazer o teu output, envia-me o código
Offline

johndays 
Membro
Mensagens 387 Gostos 1
Feedback +3

Troféus totais: 24
Trófeus: (Ver todos)
Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 4 Level 3 Level 2 Level 1 100 Posts

Bem, alterei mas não resolveu o problema.

Mandei-te o código por pm!

Um abraço!
Offline

Souza 
Elite
Mensagens 1816 Gostos 1
Troféus totais: 28
Trófeus: (Ver todos)
Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1

Experimenta substituir o teu ficheiro actual pelo que te enviei.
Offline

johndays 
Membro
Mensagens 387 Gostos 1
Feedback +3

Troféus totais: 24
Trófeus: (Ver todos)
Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 4 Level 3 Level 2 Level 1 100 Posts

Agora insere bem na base de dados, mas fica mal ao visualizar-se.

EDIT:

Retirei os utf8_decode e agora já funciona bem, a única coisa que se alterou foi charset=iso-8859-15. Há coisas realmente muito estranhas.

Muito obrigado mais uma vez Souza!


Só mais uma coisa ehehe, hoje é o dia do php!

Não existe nenhuma forma do meu script retornar uma mensagem a dizer se foi possível inserir ou não? Como no ficheiro inserido_com_sucesso.php tem lá o header(), este não me deixar colocar echos. Isto porque que já criei uns ifs (se reparaste) para que a diferença de tempo de um determinado ip que tenha inserido informação seja superior a 24 horas. Assim só é possível inscrever-se uma vez por dia.

Mais uma vez, obrigado :) !
Offline

Souza 
Elite
Mensagens 1816 Gostos 1
Troféus totais: 28
Trófeus: (Ver todos)
Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1

Era o que eu te ia dizer para retirares.

Tinhas de mudar o charset e retirar esta obrigação:

mysql_query("SET character_set_results=utf8");

Offline

johndays 
Membro
Mensagens 387 Gostos 1
Feedback +3

Troféus totais: 24
Trófeus: (Ver todos)
Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 4 Level 3 Level 2 Level 1 100 Posts

Era o que eu te ia dizer para retirares.

Tinhas de mudar o charset e retirar esta obrigação:

mysql_query("SET character_set_results=utf8");



Ah! Então foi essa query ... engraçado que em localhost precisei dela para ir buscar correctamente os resultados à bd.
Offline

Souza 
Elite
Mensagens 1816 Gostos 1
Troféus totais: 28
Trófeus: (Ver todos)
Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1

Claro que podes, altera o inserido_com_sucesso.php e insere algo do género (A sintaxe pode estar mal, não estive a analisar as tuas condições:

Código: [Seleccione]
$querytrue = mysql_query($query); // Altera a linha actual que já contém mysql_query

if($querytrue){
header('Location: http://gamespt.net/testes/torneio.php?erro=sucesso');

}else{
header('Location: http://gamespt.net/testes/torneio.php?erro=erro');
}

em torneio.php insere onde pretendes que o aviso apareça:




                        
Código: [Seleccione]
  <?php
                           $erro 
$_GET['erro'];
                      
                           
?>

                           <div class="erro"><h1>
                           <?php if($erro== erro){echo "Ocorreu um".$erro." ; volte a tentar.";}
                           
?>

                           </h1></div>

                           <div class="info"><h2>
                           <?php if($erro == sucesso){echo "Sucesso! Inserido na base de dados!!";}?>
                           </h2></div>

Offline

johndays 
Membro
Mensagens 387 Gostos 1
Feedback +3

Troféus totais: 24
Trófeus: (Ver todos)
Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 4 Level 3 Level 2 Level 1 100 Posts

Souza muitíssimo obrigado! Excelente, ficou a funcionar 5*.

Agora resta-me pensar o que posso melhorar (muita coisa), mas isto é tudo a nível experimental. Podiam-se era colocar desafios aqui no +t de php.

Mais uma vez, muito obrigado!
Offline

Souza 
Elite
Mensagens 1816 Gostos 1
Troféus totais: 28
Trófeus: (Ver todos)
Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1

Sempre às ordens.

Faz com que seja definido um cookie, enquanto o cookie estiver guardado podes permitir que a pessoa que inseriu os dados possa editá-los, isto tudo para manter o sistema simples e não partires para grandes dificuldades e era bom que aprendesses a editar tabelas, bem como definir cookies, é um bom exercício.
Offline

johndays 
Membro
Mensagens 387 Gostos 1
Feedback +3

Troféus totais: 24
Trófeus: (Ver todos)
Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 4 Level 3 Level 2 Level 1 100 Posts

Sempre às ordens.

Faz com que seja definido um cookie, enquanto o cookie estiver guardado podes permitir que a pessoa que inseriu os dados possa editá-los, isto tudo para manter o sistema simples e não partires para grandes dificuldades e era bom que aprendesses a editar tabelas, bem como definir cookies, é um bom exercício.

Hoje estou sem tempo, mas irei ver isso dos cookies para editar as tabelas. De facto é uma excelente ideia!
Offline

Souza 
Elite
Mensagens 1816 Gostos 1
Troféus totais: 28
Trófeus: (Ver todos)
Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1

É um exercício engraçado, defines uma chave md5 para um determinado cookie, fazes a verificação dessa key e a tabela criada por aquele browser/IP pode ser editada por essa mesma pessoa pelo menos nos momentos a seguir.

Aprimora o PHP, avança para o javascript e a seguir integrando estas duas linguagens fazes maravilhas (ajax+php).
Offline

johndays 
Membro
Mensagens 387 Gostos 1
Feedback +3

Troféus totais: 24
Trófeus: (Ver todos)
Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 4 Level 3 Level 2 Level 1 100 Posts

Só não estou a ver como é que vou fazer para o utilizador editar/alterar dados na tabela. Tens alguma demo?

E sim, tenho muito que aprender, é um longo caminho! Mas ainda bem que existem pessoas como tu, prontas a ajudar :) . Coloquei esta dúvida num fórum de programadores e tive 0 respostas, não sei se era por ser demasiado óbvia, ou se pelo contrário, o espírito de entre-ajuda está a desvanecer.

Abraço!