
ESerra
Moderadores-
Total de itens
8.873 -
Registro em
-
Última visita
Tudo que ESerra postou
-
Na verdade não, dá pra mandar o servidor interpretar outras extensões também, claro que mandar todos os arquivos .htm/html serem interpretados é meio dispendicioso, mas é possível. http://br.php.net/manual/pt_BR/security.hiding.php
-
O erro não está ai, está faltando fechar alguma chave }, por isso ele diz que "o fim chegou antes da hora"... antes do final coloque }
-
Motivo é a seguraça, $_REQUEST permite que dados sejam infiltrados, afinal de contas, supondo que você tenha um formulário na página a.php e o action é a página b.php, se você utilizar o $_REQUEST eu posso passar os dados direto por querystring, claro que se você sempre fizer a validação/filtragem dos dados inseridos isso ameniza os problemas, de qualquer maneira sempre vai ter algum desocupado procurando brechas e o $_REQUEST ao meu ver causa um problema semelhante ao de register_globals (guardadas as devidas proporções). De qualquer maneira, se um dado SEMPRE vai vir por POST é sem fundamente utilizar um REQUEST, por outro lado se algum dado pode as vezes vir por POST e as vezes por GET, ai sim o REQUEST é a saída.
-
Você deve estar errando na hora de criar as regras, acesse esse site e preencha o que é requerido, ele cria tudo, ai é só copiar/colar...
-
Ok, então deixa eu "debugar" a sua dúvida, pelo que eu entendi você vai criar TUDO (banco de dados/usuário de acesso e senha) lá no seu painel, ai o que você quer é apenas informar esses dados e a partir disso as tabelas serem criadas automaticamente, se for isso basta você criar um formulário, e no action dar um fopen/fwrite/fclose com os dados, assim você escreve os dados de conexão, e ai pega o que eu passei no outro post e cria as tabelas.
-
Sou novato e não sei onde estou errando no código de senha randomica
pergunta respondeu ao Bruno Lobo de ESerra em PHP
Essa parte do código: $sql = mysql_query("INSERT INTO usuario (nome, email, login, senha, dt_cadastro) VALUES('{$nome}','{$email}','{$usuario}','{$senha}','{$dt_cadastro}', now())")or die( mysql_error()); Você especifica 5 colunas (nome, email, login, senha, dt_cadastro), mas depois informa 6 ítens ('{$nome}','{$email}','{$usuario}','{$senha}','{$dt_cadastro}', now())"), por isso o erro Column count doesn't match value count at row 1 -
Precisa de um servidor de e-mail devidamente configurado na máquina... Se você estiver enviando direto do seu pc aqui tem um tutorial sobre o assunto.
-
Para criar tabelas usando o PHP basta: <?php require "conexao.php"; //Faz a conexão e escolhe o banco em que a tabela será criada $tab_usuarios = "CREATE TABLE usuarios ( id int(3) NOT NULL auto_increment, nome varchar(60) NOT NULL, username varchar(60) NOT NULL, senha varchar(40) NOT NULL, PRIMARY KEY (id) ) TYPE=MyISAM;"; $usuarios =mysql_query($tab_usuarios); echo ($usuarios)?'A tabela \'usuarios\' foi criada com sucesso!':'A tabela \'usuarios\' NÃO foi criada com sucesso!'; ?>
-
Amigo, você só pode ser ajudado se em primeiro lugar se ajudar, fiz questionamentos que você simplesmente não leu, ou ignorou, veja que te ajudar não é apenas você copiar e colar um código e voltar aqui pra dizer "não funcionou". Abaixo, coloco novamente os questionamento O que está retornando na variável $linhas? pessoal é chave primária? É um campo do tipo UNIQUE? E importante, leia as regras, UPs não são permitidos!
-
Acontece que quando você manda atualizar os dados são enviados novamente, e ai o próprio navegador re-envia os dados, por isso que o unset não funciona. O que você tem que fazer é redirecionar a página, assim os dados do formulário serão "esquecidos" pelo navegador...
-
Mas Rafael, isso que você passou fatalmente vai gerar falsos positivos, e o motivo é simples, você não está testando se algo foi apagado, você está testando se a query retornou TRUE, veja que mesmo que nada seja apagado do BD, ela vai retornar TRUE se o comando for executado com sucesso (e o comando ser executado com sucesso não está ligado a algo ter sido modificado no BD)... o que ele fez inicialmente, fazendo a query e então contando a quantidade de registros afetados, isso sim é o correto.
-
$_POST é quando os dados são enviados pelo método POST (99% dos casos vem de formulários, mas isso também pode ser simulado com cURL). $_GET é quando os dados são enviados usando o método GET (que pode ser enviado através de formulário, mas também pode simplesmente ser um link passando um dado por querystring). Note que usar ou não as superglobais para recuperação de dados, em si, não é falha de segurança, o que é falha de segurança e não validar as entradas que foram passadas pelo usuário, por exemplo, pegar um dado vindo de um formulário e jogar direto na query... de qualquer maneira register_globals (que é o que te permite abrir mão de resgatar as variáveis) não vai mais existir no PHP6 e a partir de lá tudo vai ter que ser resgatado, é claro, que vai ter gente que vai acabar fazendo uma gambiarra pra simular o efeito de register_globals... Por fim cabe ressaltar que também existe o $_REQUEST e tem o mesmo efeito de $_POST e $_GET, mas é claro, pouco recomendado é o seu uso...
-
O que está retornando na variável $linhas? EDIT... pessoal é chave primária? É um campo do tipo UNIQUE? Pois pelo que eu vi podem haver dois registros iguais no campo pessoal, logo o correto seria em vez de: if($linhas==1) Ser if($linhas>=1)
-
Esse erro ocorre porque você quer redirecionar (header('Location....) após enviar dados para o navegador.. o que você pode tentar fazer é colocar ob_start() antes de tudo (na página que recebe o include dessa) e depois de tudo colocar ob_end_flush(), note que um simples espaço em branco já gera essa mensagem de erro...
-
Dá um echo no valor da variável $login, ela deve estar contendo alguma coisa...
-
Dá um echo na variável $checkuser2 (ou a que você esteja usando para guardar o que está no BD), e poste a atual estrutura do script.
-
Mesma coisa que isso? Tem certeza? Então me explica porque as duas estruturas não dão o mesmo resultado mesmo, supostamente, sendo idênticas... <?php $erro = ''; $aa = 2; $bb = 2; $checkuser = ($aa != $bb); { $erro = 1; } echo $erro; echo "<BR><BR><BR><BR><BR>"; $erro = ''; $aa = 2; $bb = 2; if($aa != $bb) { $erro = 1; } echo $erro; ?> Na dúvida, olhe as estruturas de controle no manual... De qualquer maneira o que você fez foi misturar o operador ternário, o correto seria: $erro = (mysql_num_rows(mysql_query("SELECT `userid` FROM `login` WHERE userid = '$login'")) != 0)?'1':'0';
-
Pra que isso? Aqueles [ ] não existe, você copiou direto do manual... os [ ] representam dados opcionais, ou seja, você pode ou não usá-los. Quanto a outra parte, ela também está errada, pois conforme consta no manual o último argumento só deve ser usado com os valores 0 ou 1, e ele apenas serve para marcar o horário de verão... Logo o correto é: $timestamp = mktime(date('H')-3, date("i"), date("s"), date("m"), date("d"), date("Y"), '0'); Ou $timestamp = mktime(date('H')-3, date("i"), date("s"), date("m"), date("d"), date("Y"), '1');
-
Pra que isso? Ou melhor, que construção é essa? $checkuser = (mysql_num_rows(mysql_query("SELECT `userid` FROM `login` WHERE userid = '$login'")) != 0); { $erro = 1; }
-
No formulário altere de $l para $l[cod] O resto fica igual.
-
Modifique isso: <td class='tabela-coluna4'><span><input type='checkbox' name='check[]' value='$l[cod]'> <input type='text' name='q[]' size='3'></span></td> Para isso <td class='tabela-coluna4'><span><input type='checkbox' name='check[$l]' value='$l'> <input type='text' name='q[$l]' size='3'></span></td> E isso: foreach($_POST[check] as $check) { Para isso: foreach($_POST[check] as $check) { $do_form = $_POST['q'][$check]; Ai a variável $do_form vai conter o valor que estiver ao lado do checkbox selecionado.
-
Mas ai você não resolveu o problema, apenas está usando uma metodologia POG que funciona para você. O problema em geral é que os programadores primeiro constroem o teto (a aplicação em si) para depois irem para o alicerce (a documentação), ou pior, simplesmente não fazem documentação alguma sobre o desenvolvimento do sistema, infelizmente essa é a realidade. Aliás, basta perguntar para a maioria dos programadores se eles já ouviram falar de UML, MVC, DER (para a parte de banco de dados). Esse tipo de coisa realmente resolve esse tipo de problema. Veja, não tenho nada contra a sua metodologia, mas baseado no que já existe, ela é apenas mais um tipo de gambiarra, inclusive aquilo que você faz de criar variáveis com $_nome é perigoso, pois note que esse tipo de estrutura que leva o _ após o cifrão é usado nativamente nas super-globais ($_POST,$_GET, etc...) e já existe discussões de se amplicar esse tipo de coisa, e numa dessa você cria uma variável que no futuro pode existir, pronto isso já é suficiente pra seu sistema ter problemas no futuro (claro, tudo é apenas teoria).
-
Cron Jobs / agendador de tarefas... procura por isso no CPanel...
-
Uma dúvida, toda vez que o cara acessa a página os thumbs são criados? Ou eles são criados apenas uma vez e posteriormente re-utilizados? Note que ficar criando toda hora os thumbs gera uma sobrecarga desnecessária no servidor, é muito mais simples no momento em que a imagem for enviada para o servidor criar o thumb, claro que se ela for enviada por FTP ai teria que se criar um rotina para varrer as imagens e verificar se elas já possuem um thumb. Além do que, a simples diferença na versão da GD de um servidor pra outro pode influenciar no processo de criação do thumb.