marceloths
Membros-
Total de itens
72 -
Registro em
-
Última visita
Tudo que marceloths postou
-
Estou com sério problema com a data a qual não consigo resolver. Tenho um formulário com um campo data que quando é enviado o formulário para banco de dados é feito antes uma checagem de datas através de código abaixo: $datarealizacao =$_POST['data']; $dataseparada = explode("/", $datarealizacao); if (checkdate($dataseparada[1], $dataseparada[0], $dataseparada[2])==true){ $datarealizacao = $dataseparada[2] . "-" . $dataseparada[1] . "-" . $dataseparada[0]; } else { header('Location: admin-anivers-add.php?msg=datarealizacao-invalida'); break; } Quando eu digito no formulário por exemplo 15/02/2008 não ocorre nenhum erro. Quando eu digito no formulário por exemplo 12/22/2008 não ocorre erro, mas avisa que a data está inválida. Tudo bem, a função checkdate funciona. Quando eu digito no formulário por exemplo aaaaaaaaa ou qualquer outro texto ou número não equivalente a uma data ocorre um erro no PHP e não sei como corrigir esse problema. Estou tentando quebrar a cabeça, mas não consigo. Se puder me ajudar ficarei muito grato. Atenciosamente, Marcelo.
-
(Resolvido) Form: Arquivo + Informacao é Possível?
pergunta respondeu ao marceloths de marceloths em PHP
ESerra, Descobri, qual foi meu erro, havia digitado $_FILE['arquivo'] , na verdade o correto seria $_FILES['arquivo'] Desculpe pelo transtornos e obrigado pela dica sugerida que me ajudou bastante. Atenciosamente, Marcelo. -
Estou com uma dificuldade enorme para desenvolver um script que envie um arquivo para uma pasta e uma descrição para o banco de dados MySQL através de um formulário ao mesmo tempo. Veja o código abaixo: form.php <html> <head> <title>Teste de envio de arquivo e dados ao mesmo tempo</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <form action="" method="post" enctype="multipart/form-data" name="form1"> <p> <input name="descricao" type="text" id="descricao"> <br> <input name="arquivo" type="file" id="arquivo"> <br> <input type="submit" name="Submit" value="envia.php"> </p> </form> </body> </html> envia.php <? $descricao = trim($_POST['descricao']); $arquivofoto = trim($_FILE['arquivo']); echo $descricao .'<br>'. $arquivofoto; ?> Notei que nesse script, notei que o valor do $_FILE['arquivo'] está vazio ou nulo, mesmo se eu colocar $_POST['arquivo'] o valor continua vazio ou nulo. Mas consigo obter normalmente o valor da variável $descricao. Minha dúvida, O PHP trabalha com arquivo e dado através de mesmo form? Se sim, gostaria de receber um exemplo. Atenciosamente, Marcelo
-
boa sacada!! muito obrigado, wagner...
-
Prezado Wagner, O código que me passou funcionou perfeito, só que não entendi a lógica do comando condicional if ( e operador % (módulo) nessa rotina? <? $i = 0; echo '<tr>'; while ($projfoto = mysql_fetch_array($sqlprojfotos)){ echo '<td><div align="center"><img src="projetos/fotos/' . $projfoto['foto'] .'"><br>' . nl2br($projfoto['descricao']) . '</div></td>'; $i++; if(($i%3)==0){ //SE JÁ FOI PREENCHIDA 3 COLUNAS echo "</tr>"; } } ?>
-
Hoje passei o dia inteiro para solucionar esse problema que aparentemente parece simples, mas não é. Estou tentando montar um sistema de álbum de fotos com a tabela que exibe 7 fotos no total sendo que as 4 fotos na primeira linha e 3 fotos na segunda linha, mas isso não vem acontecendo de jeito nenhum, a única coisa que consegui foi deixar 7 fotos na mesma linha (como no exemplo abaixo) e então deixar cada foto por linha. Já usei o comando for(){}, mesmo assim, nada de resultado satisfeito. <? echo '<tr>'; while ($projfoto = mysql_fetch_array($sqlprojfotos)){ echo '<td><div align="center"><img src="projetos/fotos/' . $projfoto['foto'] .'"><br>' . nl2br($projfoto['descricao']) . '</div></td>'; } echo '</tr>'; ?> Desde já agradeço por sua atenção e sua ajuda. Marcelo.
-
Estou com um problema ao testar um e-mail com servidor XAMMP (PHP + MySQL + Apache) no meu micro. O XAMMP tem suporte para a função mail() para mim testar o e-mail? mas sempre retorna o seguinte erro Warning: mail() [function.mail]: SMTP server response: 550 5.7.1 Unable to relay for marceloths@hotmail.com in C:\xampp\htdocs\brgames\verifica.php on line 211 Ocorreu um erro <? $nome = 'fulano de tal'; $email = 'speedy@speedy.com.br'; $observacao = 'nenhuma'; $planodef = 'Plano 1'; $destino = 'marceloths@hotmail.com'; $assunto = 'Anunciar - ' . $planodef; $mensagem = "$nome<br>$email<br>Plano Escolhido: $planodef<br>$observacao"; if (mail($destino, $assunto, $mensagem, "From: $email")){ echo 'Seu e-mail foi enviado com sucesso.'; } else { echo 'Ocorreu um erro'; } ?> Atenciosamente, Marcelo.
-
Obrigado mais uma vez, ESerra... você me ajudou mais uma vez... Só para finalizar minha dúvida, esse é jeito mais utilizado de puxar o dados de banco de dados através do comando condicional (if else)? sinto que a maneira que foi citado não é muito utilizado. Testei o código abaixo, mas está ocorrendo uma mensagem de erro: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\brgames\verifica.php on line 47 # Valida o IP, data e cookie $sqlverifica = "SELECT * FROM pubnoticias WHERE ip=$ipcapturado and data=$datatual"; if (mysql_num_rows($sqlverifica) == 0){ #linha com problema $recuperacookie = $HTTP_COOKIE_VARS["acessado"]; if ($recuperacookie == ''){ setcookie('acessado', 'sim', time()+7200); $sql = "Insert Into pubnoticias (ip, data, hora, titulo, autor, conteudo) Values ('$ipcapturado', '$dataatual', '$horaatual', '$titulo', '$autoria', '$conteudo')"; $sqladicionar = mysql_query($sql, $conexao); echo "adicionado com sucesso"; #header("Location: participar.php?cat=$categoria&erro-sucesso"); break; } else { echo "dado já adicionado"; #header("Location: participar.php?cat=$categoria&erro=naopermitido"); break; } } Sinceramente, não sei o porque está dando o erro nessa linha que aparentemente está tudo certo. Atenciosamente, Marcelo
-
A função mysql_num_rows() só serve para exibir a quantidade de registro na tabela selecionada. Acho que não serviria para meu caso. Gostaria de um exemplo caso sirva a utilização do mysql_num_rows() no código acima. Sou programador ASP, estou começando agora em PHP e estou com algumas dificuldades. Bom, em ASP eu utilizava o RSTabela.EOF para verificar que tinha ou não o IP Capturado na data atual. Percebi que em PHP não tem EOF (End Of File). Só gostaria de um exemplo para solucionar problema no meu caso.
-
<? include 'conexao.inc'; $dataatual = date('Y/m/d'); $horaatual = date('H:i'); $ipcapturado = $HTTP_SERVER_VARS['REMOTE_ADDR']; $acao = $_GET['action']; switch ($acao){ case 'partic-noticia': $categoria = '1'; $titulo = $_POST['camp1']; $autoria = $_POST['camp2']; $conteudo = $_POST['camp3']; # Regra de validação de formulário if ($titulo==''){ header("Location: participar.php?cat=$categoria&erro=tit-nulo"); break; } if (strlen($titulo)<5){ header("Location: participar.php?cat=$categoria&erro=tit-menor"); break; } if (strlen($titulo)>40){ header("Location: participar.php?cat=$categoria&erro=tit-maior"); break; } if ($autoria==''){ header("Location: participar.php?cat=$categoria&erro=aut-nulo"); break; } if (strlen($autoria)<3){ header("Location: participar.php?cat=$categoria&erro=aut-menor"); break; } if (strlen($autoria)>25){ header("Location: participar.php?cat=$categoria&erro=aut-maior"); break; } if ($conteudo==''){ header("Location: participar.php?cat=$categoria&erro=cont-nulo"); break; } # Valida o IP, data e cookie $sql = "SELECT ip, data FROM pubnoticias WHERE ip=$ipcapturado and data=$datatual"; $sqlverifica = mysql_query($sql, $conexao); # Se não for encontrado IP Capturado e data atual no banco de dados então $recuperacookie = $HTTP_COOKIE_VARS["acessado"]; if ($recuperacookie == ''){ setcookie('acessado', 'sim', time()+7200); $sql = "Insert Into pubnoticias (ip, data, hora, titulo, autor, conteudo) Values ('$ipcapturado', '$dataatual', '$horaatual', '$titulo', '$autoria', '$conteudo')"; $sqladicionar = mysql_query($sql, $conexao); echo 'A notícia foi adicionada com sucesso'; break; /* senão imprime na tela uma mensagem Só é permitido adicionar uma notícia por dia. else echo "Só é permitido adicionar uma notícia por dia." } */ } break; case 'partic-traducao': echo 'traducao'; break; case 'verif-usuario': echo 'usuario'; break; } echo $ipcapturado; ?> Na linha "# Se não for encontrado IP Capturado e data atual no banco de dados então" não sei como utilizar o comando condicional if para puxar o valor do banco de dados e verificar se há ou não um registro com ip capturado e data atual no banco dados. Desde já agradeço por sua atenção. Marcelo.
-
Prezado ESerra, Deu certo a sua ajuda Acabei descobrindo mais coisa interessante com a função header no endereço abaixo: http://www.php.net/manual/pt_BR/function.header.php Obrigado pela ajuda... Atenciosamente, Marcelo.
-
Desenvolvi esse seguinte código abaixo que ainda não está completo, mas dá pra entender o funcionamento dele. <? $acao = $_GET['action']; switch ($acao){ case 'partic-noticia': $categoria = '1'; $dataatual = date('d/m/Y'); $horaatual = date('H:i'); $titulo = $_POST['camp1']; $autoria = $_POST['camp2']; $conteudo = $_POST['camp3']; if (is_null($titulo) || $titulo==''){ # redireciona a pagina index.php?erro=titulo-nulo } break; case 'partic-traducao': echo 'traducao'; break; case 'verif-usuario': echo 'usuario'; break; } ?> A minha dúvida é como redirecionar para outra página através do PHP, pois em ASP apenas usava o comando Response.redirect "default.asp?erro=titulo-nulo" para redirecionar para uma outra pagina caso o titulo for nulo ou vazio. Pelo que eu pesquisei no fórum, acho que não existe um comando que faça a mesma funcionalidade que do ASP. Atencionsamente, Marcelo.
-
Pessoal, Estou com uma dúvida cruel sobre o cálculo com a data, estou tentando elaborar uma rotina que calcula o dia entre as duas datas e se o resultado for menor que 30 dias exibirá uma imagem chamado item novo. Ex: $datalancamento = $resultado['datalancamento']; # vamos supor que a variavel datalancamento seja 05/22/2007 $partes = explode('-', $datalancamento); $datachecada = checkdate($partes[1], $partes[2], $partes[0]); $dataatual = date('m/d/Y'); A partir daí empaquei de vez, tentei colocar o seguinte código $dataresultado = gmdate($dataatual - $datachecada); echo $dataresultado; Pena que no PHP não existe função Day() ou Dateiff. Preciso muito de sua ajuda... Aguardo anciosamente por uma resposta... Grato.
-
Consegui fazer o servidor "LER" o PHP com a versão mais antiga do Apache 2.0.55, mas na versão 2.2.2, não carrega a linha LoadModule Php5_module de jeito nenhum. porque será?? Grato, Marcelo.
-
infelizmente, o php5ts.dll já estava copiado no diretório system32 do Windows XP... vou tentar instalar uma versão um pouco mais antiga do apache, pois a minha versão do apache é 2.2.2 obrigado pela atenção.
-
Eu já adicionei as seguintes linhas no arquivo httpd.conf do Apache 2.2 AddType application/x-httpd-php .php LoadModule php5_module "c:/php/php5apache2.dll" Mas quando restart no servidor apache ocorre o seguinte erro The requested operation has failed! Resolvi buscar em qual linha está dando o problema, descobri que a linha LoadModule php5_module "c:/php/php5apache2.dll" pois eu havia comentada essa linha que ficou assim #LoadModule php5_module "c:/php/php5apache2.dll" o servidor apache volta a funcionar... porém verifiquei se o arquivo php5apache2.dll realmente existe no diretório C:\PHP, mas existe.... Agora não sei como solucionar esse problema, só sei que o problema está na linha LoadModule php5_module "c:/php/php5apache2.dll" Alguém poderia me ajudar Grato, Marcelo.
-
obrigado pela resposta... vou utilizar o index.php :)
-
Pessoal, tenho uma dúvida... Qual o nome do arquivo devo utilizar para indicar a página principal em PHP?? Seria index.php ou default.php?? Desde já agradeço por sua atenção. Marcelo
-
mestre fyoda, Realmente nunca devemos utilizar o metodo get $_GET["nome"] para autentificação do usuário, nesse caso utilizamos o metodo session ou post. Grato, Marcelo...
-
É verdade, aprendi que não deveremos ativar register_globals para ON, pois há um risco muito grande de segurança. Agora aprendi usar um comando $_GET["nome"] para puxar dados do parametro na URL. Ex. teste.php?nome=Marcelo Eu descobri isso lendo um livro de PHP, mas aqui no forum ninguém falou da existencia desse comando $_GET["var"], claro sou iniciante em PHP, mas expert em ASP, decidi migrar para PHP para adquirir maiores conhecimentos sobre essa linguagem que domina o planeta... Para quem é iniciante e não sabe como utilizar o comando $_GET[], segue um exemplo abaixo: teste.php?nome=Marcelo <? # recupera na variavel meunome o valor do parametro nome da URL teste.php?nome=Marcelo $meunome = $_GET["nome"]; #imprime o valor da variavel meunome echo $meunome; ?> Simples de usar e bastante útil... valeu!!
-
já descobri o problema, o código estava correto, o problema estava no arquivo php.ini onde alterar a linha register_globals = off para register_globals = on Só não entendi porque essa essa opção é desligada por padrão por causa de segurança. Há realmente perigo de alguém explorar a falha através deste recurso ativado??? Abraços, Jackal
-
Sou iniciante em PHP, estou lendo uma apostila do Mauricio Vivas, estou na parte que ensina a recuperar as strings passadas pela URL do navegador http://127.0.0.1/meusite/string.php?nome=M...sobrenome=Netto arquivo string.php <? /* coloque na URL o seguinte endereço http://127.0.0.1/meusite/string.php?nome=Marcelo&sobrenome=Netto as variaveis nome e sobrenome serão recuperadas automaticamente devido ao informação nos parametros na URL que deverão serem iguais das variaveis. */ echo "<h1>Nome: " . $nome ."<br>Sobrenome: " . $sobrenome . "</h1>"; ?> Mas as variaveis $nome e $sobrenome ficaram nulas. porque isso está acontecendo, será que estou errando em algumas coisas... Desde já agradeço por sua atenção. Abraços