Ir para conteúdo
Fórum Script Brasil

Carlohcs

Membros
  • Total de itens

    44
  • Registro em

  • Última visita

Sobre Carlohcs

Contatos

  • MSN
    carlohcs@hotmail.com

Perfil

  • Gender
    Male

Carlohcs's Achievements

0

Reputação

  1. Fiz o contrário. Embora eu quisesse que o controle da session ficasse no próprio script php, coloquei no index mesmo. Ai só precisei chamar o Session_start. Queria manter o código apenas de controle da classe...mas já que não deu dentro da classe, vai fora mesmo. Resumindo, ficou assim: <?php session_start(); ?> <html> .... <?php include('class/enquete/enq.class.php'); ?> Grato a todos, vlw FIT. Moderador, pode fechar o tópico.
  2. Amigo, desculpe a demora, fiz algumas alterações e deu certo. Você reparou que configurou sua chave primária como auto_increment? E depois, você associava ao id na hora de inserir? E em alguns atributos da sua entidade, estava como valor NULL, o correto seria NOT NULL. Fiz as mudanças, segue no código: //TABELA - ESTRUTURA CREATE TABLE `peticao` ( `id_peticao` int(11) NOT NULL auto_increment, `txt_titulo` varchar(200) character set latin1 NOT NULL, `txt_peticao` text character set latin1 NOT NULL, `data_peticao` date NOT NULL, `bairro_peticao` varchar(100) character set latin1 NOT NULL, `assunto_peticao` varchar(100) character set latin1 NOT NULL, `txt_destino` text character set latin1 NOT NULL, `nome_peticao` varchar(80) character set latin1 NOT NULL, `sobrenome_peticao` varchar(150) character set latin1 NOT NULL, `ddd_peticao` int(3) NOT NULL, `tel_peticao` int(9) NOT NULL, `email_peticao` varchar(200) character set latin1 NOT NULL, PRIMARY KEY (`id_peticao`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=36; //PROGRAMAÇÃO PHP //VARIAVEIS $txt_titulo = isset($_POST["txt_titulo"]) ? $_POST['txt_titulo'] : FALSE; $txt_peticao = isset($_POST["txt_peticao"]) ? $_POST['txt_peticao'] : FALSE; $txt_data = date('Y/m/d'); $txt_bairro = isset($_POST["txt_bairro"]) ? $_POST['txt_bairro'] : FALSE; $txt_assunto = isset($_POST["txt_assunto"]) ? $_POST['txt_assunto'] : FALSE; $txt_destino = isset($_POST["txt_destino"]) ? $_POST['txt_destino'] : FALSE; $txt_nome_primeiro = isset($_POST["txt_nome_primeiro"]) ? $_POST['txt_nome_primeiro'] : FALSE; $txt_nome_segundo = isset($_POST["txt_nome_segundo"]) ? $_POST['txt_nome_segundo'] : FALSE; $num_area = isset($_POST["num_area"]) ? $_POST['num_area'] : FALSE; $num_tel = isset($_POST["num_tel"]) ? $_POST['num_tel'] : FALSE; $txt_email = isset($_POST["txt_email"]) ? $_POST['txt_email'] : FALSE; //INSERÇÃO $tsql = "INSERT INTO `tabella`.`peticao2` (`id_peticao`, `txt_titulo` , `txt_peticao` , `data_peticao` ,`bairro_peticao` , `assunto_peticao` , `txt_destino` , `nome_peticao` , `sobrenome_peticao` , `ddd_peticao` , `tel_peticao` , `email_peticao` ) VALUES ('null', '$txt_titulo', '$txt_peticao', '$txt_data','$txt_bairro', '$txt_assunto','$txt_destino', '$txt_nome_primeiro', '$txt_nome_segundo', '$num_area', '$num_tel', '$txt_email');"; mysql_query($tsql) or die ("não foi impossivel inserir dados2"); echo "PETIÇÃO ENVIADA COM SUCESSO!"; Veja se ai funciona.
  3. Sim...já tinha usado Session Start...mas n deu em nada. O padrão é sempre usar...eu usei e n deu diferença. Quando fiz essa função sem classe, rodou perfeitamente...tentei printar sim...mas nada de aparecer. Ele não reconhece a sessão. Se eu tiro da classe, ela funciona.
  4. Assim deu certo: <?php if(!preg_match('/[^MSIE](\d+)$/',$_SERVER['HTTP_USER_AGENT'])){ Header("Location: http://www.google.com"); } ?> Se ele encontrar o texto "MSIE" na string retornada pelo USER_AGENT, ele redireciona para a página que você quer.
  5. Você poderia colocar a estrutura do BD aqui? Já viu se é o tipo de atributo que está associada á alguma coluna?
  6. Olá pessoal, estou há mt tempo num script que ainda não entendo o porquê de não funcionar. Estou montando uma enquete que está feita numa classe. Puxo todos os dados para a página apenas com o "include". O problema está na $_SESSION. Não estou conseguindo definir a $_SESSION com a hora de entrada do usuário para depois verificar o tempo da sessão e permitir que o usuário volte a votar. Segue o código. <?php class Enquete{ public $opcao, $arquivoArr, $tpOp, $ipUser, $checa,$entrada; function defineDados($opcao = array("Google", "Amigos", "Publicações", "Outros"), $arquivoArr = array( 0=>"class/enquete/google.txt", 1=>"class/enquete/amigos.txt", 2=>"class/enquete/publicacoes.txt", 3=>"class/enquete/outros.txt", 4=>"<p id='ask_poll'>Como você conheceu o JOI&D?</p>", 5=>"class/enquete/ipUser.txt")){ //Define a zona de horário para São Paulo date_default_timezone_set('America/Sao_Paulo'); $this->opcao = $opcao; $this->arquivoArr = $arquivoArr; $ipUser = $_SERVER["REMOTE_ADDR"]; $this->ipUser = $ipUser; $this->tpOp = isset($_POST['tpOp']) ? $_POST['tpOp'] : FALSE; } function abreAr($arquivoInd){ $arquivoArr = array( 0=>"class/enquete/google.txt", 1=>"class/enquete/amigos.txt", 2=>"class/enquete/publicacoes.txt", 3=>"class/enquete/outros.txt", 4=>"<p id='ask_poll'>Como você conheceu o JOI&D?</p>", 5=>"class/enquete/ipUser.txt"); $inserir = file($arquivoArr[$arquivoInd]); $abreAr = fopen($arquivoArr[$arquivoInd], "w"); $insere = fwrite($abreAr, $inserir[0]+1); if($insere){$msg = "Voto enviado.";}else{$msg = "Voto não enviado.";} echo "<p>".$msg."</p>"; echo "<p><a href='$_SERVER[PHP_SELF]'>Voltar</a></p>"; } function vota(){ $arquivo = file($this->arquivoArr[5]); if($this->tpOp != ""){ if($arquivo[0] != $this->ipUser){ $_SESSION['acesso'] = time(); //Aqui defino a hora de acesso para depois permitir o voto $_SESSION['entrada'] = date('H:i:s'); //Aqui é para exibição de quando o usuário entrou $abreAr = fopen($this->arquivoArr[5], "w"); $insere = fwrite($abreAr, $this->ipUser); $checa = TRUE; }else{ $checa = FALSE; if(isset($_SESSION['entrada']) && isset($_SESSION['acesso'])){ //Não reconhece if((time() - $_SESSION['acesso']) > 60 * 2) { $_SESSION['acesso'] = time(); $_SESSION['entrada'] = date('H:i:s'); $abreAr = fopen($this->arquivoArr[5], "w"); $insere = fwrite($abreAr, "0.0.0.0"); $checa = TRUE; } } } if($checa == TRUE){ switch($this->tpOp){ case '0': $enq = new Enquete; $enq->abreAr('0'); break; case '1': $enq = new Enquete; $enq->abreAr('1'); break; case '2': $enq = new Enquete; $enq->abreAr('2'); break; case '3': $enq = new Enquete; $enq->abreAr('3'); break; } }else{ echo "Você já votou. Hora do voto: ".$_SESSION['entrada']; //Não reconhece echo "<br />Você poderá votar novamente em 2 minutos!"; echo "<br /><a style:'margin-left:5px;' href='$_SERVER[PHP_SELF]'>Voltar</a>"; } }else{ echo "Selecione uma opção.<br /><a style='margin-left:10px;' href='$_SERVER[PHP_SELF]'>Tentar novamente</a>"; exit; } } function resultados(){ //Pega os valores dos arquivos $valor1 = file($this->arquivoArr[0]); $valor2 = file($this->arquivoArr[1]); $valor3 = file($this->arquivoArr[2]); $valor4 = file($this->arquivoArr[3]); //Define o total de votos $total = $valor1[0] + $valor2[0] + $valor3[0] + $valor4[0]; //Define porcentagem de cada opção $pcGoo = number_format($valor1[0] / $total * 100); $pcAmig = number_format($valor2[0] / $total * 100); $pcPubli = number_format($valor3[0] / $total * 100); $pcOut = number_format($valor4[0] / $total * 100); //Exibe os resultados echo "<p>TOTAL DE VOTOS: ".$total."</p>"; echo "<p>Google: ".$pcGoo."%</p>"; echo "<p>Amigos: ".$pcAmig."%</p>"; echo "<p>Publicações: ".$pcPubli."%</p>"; echo "<p>Outros: ".$pcOut."%</p>"; echo "<p><a href='$_SERVER[PHP_SELF]'>Voltar</a></p>"; } function get(){ $voto = isset($_POST['frmVoto']) ? $_POST['frmVoto'] : FALSE; $resul = isset($_POST['frmResult']) ? $_POST['frmResult'] : FALSE; if($voto){$enq = new Enquete; $enq->defineDados(); $enq->vota();} if($resul){$enq = new Enquete; $enq->defineDados(); $enq->resultados();} if(!$resul && !$voto){$enq = new Enquete; $enq->defineDados(); $enq->exibeForm();} } function exibeForm(){ echo "<p id='t_poll'>Enquete</p>"; echo "<p>".$this->arquivoArr[4]."</p>"; echo "<form action=".$_SERVER['PHP_SELF']." method='POST' name='frmEn'>\n<ul>"; while(list($key, $value) = each($this->opcao)){ echo "<input type='radio' name='tpOp' value='$key' class='styled' /><li>".$value."</li>"; } echo "<div id='align_poll'><input id='votar' type='submit' name='frmVoto' value='Votar'/>"; echo "<input type='submit' id='result' name='frmResult' value='Resultado' /></div></ul>"; echo "</form>"; } } $enq = new Enquete; $enq->get(); ?> Apenas resumindo: se o ip do usuário não estiver no servidor, permito que ele vote e defino o tempo de sessão. Se o tempo dele for maior que o limite, permito outro voto. Se alguém souber...por favor..ajudas são bem vindas. Grato.
  7. Carlohcs

    (Resolvido) Getimagesize

    PUTZ! Sabia que era algo muito besta...mas em fim, vivendo e aprendendo! Muito obrigado Romero Dias! Admin, pode fechar tópico.
  8. Olá pessoal...é o seguinte, tenho um upload de imagens. Porém, se a pessoa não insere o caminho das fotos, e aperta em enviar, a mensagem de "Warning: getimagesize() [function.getimagesize]: Filename cannot be empty in D:\xampp\htdocs\sistema\inc.php on line 10" aparece...isso é porque a função não está conseguindo acessar a imagem, pois a mesma não existe. Entretanto, tentei usar isset, is_null, REQUEST_METHOD, entre outras funções, para verificar se o conteudo da variavel estava vazia, no caso a variável global "$_FILES". Mas não obtive exito, sempre que a pessoa manda sem nenhum conteudo, a mensagem de erro aparece, alguma solução? Algumas tentativas: if(($_SERVER["REQUEST_METHOD"] == "POST" && !empty($_FILES['foto'])){ $imagem = (isset($_FILES['foto'])) && (!empty($_FILES['foto'])) ? $_FILES['foto'] : FALSE; //ou ainda if($imagem){ instruções... } Grato.
  9. Vlw Jonathan!!! Era isso mesmo que precisava! Funfou direitinho! Pode fechar o tópico.
  10. Pessoal, sei que é errado fazer isso q estou a fazer agora,mas realmente preciso de uma solução para o script.alguém?
  11. Foi movido ou não o tópico?ainda ninguém respondeu.
  12. Olá pessoal, venho postar mais um problema. Tenho uma página em formato de enquete. Cada pergunta está numa DIV separada. Quero que quando eu clicar num "A HREF", seja exibido a próxima DIV. O ID de cada DIV está como "perg" mais um numero -> "perg1","perg2". Estou fazendo a página com ajuda também de Jquery. Como posso fazer uma iteração, para que seja adicionado mais um numero,e assim passe as questões?Porque se eu apenas colocar " $("perg" + 1) " ele acaba indo para a página com o ID especificado,mas não avançando. Segue o código: //Função em Jquery $('a:eq(0)').click(function(){ $('div#perg'+1 ).show('slow'); }); //DIVS <div id="perg1"></div><div id="perg2"></div><div id="perg3"></div> Espero que tenham entendido. Até.
  13. Aí pessoal,é dessa maneira mesmo que o "Denis" disse...acontece que estou trabalhando com muitos dados,e eles estão sendo enviados por post,eu recebo os valores e faço comparações. Tem um erro na parte da seleção: "SELECT -->senha FROM usuarios WHERE nome = '".$nome."' AND login = '".$login."'" AND outracoluna = condicao...)" Estava na parte da senha. Adiante do meu código eu fazia as comparações,mas não selecionava o restante dos campos...Então o modo correto seria: "SELECT nome,login,senha,pergunta,resposta FROM usuarios WHERE nome = '".$nome."' AND login = '".$login."'" AND outracoluna = condicao...)" Vlw Denis. Pode fechar o tópico.
  14. Qual tipo de DOCTYPE você está usando em sua página? Tente usar o modo Strict: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> Veja se irá funcionar.
  15. Bom amigo, talvez você possa criar dois arquivos CSS, não é muito bacana,mas acho que vai quebrar o teu galho e usar os comentários Condicionais, colocando dentro da tag <head>...A outra maneira seria alterar com JavaScript, não conheço outro jeito a não ser assim. <!--[if IE 6]> //Aqui você chama o seu arquivo externo de css <![endif]--> <!--[if IE]> //Aqui você chama o seu arquivo externo de css <![endif]--> <!--[if IE 5]> //Aqui você chama o seu arquivo externo de css <![endif]--> Espero que tenha ajudado em algo.
×
×
  • Criar Novo...