allanlf Posted August 11, 2004 Report Share Posted August 11, 2004 instalei o EasyPHP na minha máquina...já coloquei o meu site dentro da pasta www, só que quando eu acesso ele, o que é em php dá um monte e erro!ainda não mexi no tal de IIS para rodar PHP, tenho configurá-lo?como?Meu windwos é 2000! Quote Link to comment Share on other sites More sharing options...
0 julioromano Posted August 11, 2004 Report Share Posted August 11, 2004 cara, o EasyPHP instala o Apache, PHP e MySQL na tua máquinaO servidor q tu vai usah vai c o Apache, então nem precisa meche no IIS.Agora, quais saum os erros q estão dando?Julio Romano Quote Link to comment Share on other sites More sharing options...
0 allanlf Posted August 11, 2004 Author Report Share Posted August 11, 2004 Notice: Undefined variable: tela in c:\arquivos de programas\easyphp1-7\www\nesw\cadastrar.php on line 40o final "on line 40" muda de acordo com o endereço... Quote Link to comment Share on other sites More sharing options...
0 julioromano Posted August 11, 2004 Report Share Posted August 11, 2004 Isso diz q a variável $tela não foi definida...Roda esse script e posta ae c rodo normal:<?php phpinfo(); ?> Julio Romano Quote Link to comment Share on other sites More sharing options...
0 allanlf Posted August 11, 2004 Author Report Share Posted August 11, 2004 cara apareceu um monte de coisa!!!quer que eu te mande por pm o que tá aqui? Quote Link to comment Share on other sites More sharing options...
0 Error404 Posted August 11, 2004 Report Share Posted August 11, 2004 Não precisa.Se apareceu aquele erro de "undefined variable" é porque o seu PHP está funcionando. É ele que gera aquele erro.Poste o código que está usando pra gente dar uma analizada, pode ser?Suspeito [tenho quase certeza] que o erro seja de register_globals, mas só vou poder confirmar quando vir o código, ok? Quote Link to comment Share on other sites More sharing options...
0 allanlf Posted August 11, 2004 Author Report Share Posted August 11, 2004 tenho um cadastro de e-mails:com o erro:Notice: Undefined variable: tela in c:\arquivos de programas\easyphp1-7\www\nesw\cadastrar.php on line 40Notice: Undefined variable: tela in c:\arquivos de programas\easyphp1-7\www\nesw\cadastrar.php on line 66Cadastre-se e receba nossas novidades! Nome E-mail Notice: Undefined variable: erro in c:\arquivos de programas\easyphp1-7\www\nesw\cadastrar.php on line 130ele está inserido no documento como um <?include("nesw/cadastrar.php");?>e o código dele é:<?phpinclude('config.php');function verifica_mail($mail){ if (strpos ($mail, "@") == 0) { return true; } list($user,$domain)=split("@",$mail,2); if (checkdnsrr($domain,"MX")) { return false; } else { return true; }}if($tela == "2"){ $n_erros = 0; $erro = " "; if(empty($email)) { $erro.= "Obrigatório digitar o e-mail.<br>"; $n_erros++; } elseif (verifica_mail($email)) { $erro.= "Confira o e-mail e tente novamente.<br>"; $n_erros++; } if(empty($nome)) { $erro.= "Obrigatório digitar o nome.<br>"; $n_erros++; }}//if($tela==2)//if (!empty($nome))if($tela == 2 and $n_erros == 0){ $tamanho = filesize($file_cad); if($tamanho < 1) { $fp = fopen($file_cad, "r+"); // abre o arquivo para escrita } else { $fp = fopen($file_cad, "a+"); // abre o arquivo para escrita } $cadastro ="$nome]["; $cadastro.="$email]["; $cadastro.="$chave][\n"; fputs($fp, $cadastro); //envia o cadastro fclose($fp); // fecha o arquivo $chave++; $config= "<?php\n"; $config.="\$password='$password';\n"; $config.="\$file_cad='$file_cad';\n"; $config.="\$url='$url';\n"; $config.="\$nome_ad='$nome_ad';\n"; $config.="\$mail_ad='$mail_ad';\n"; $config.="\$chave='$chave';\n"; $config.="?>"; $fp=fopen("config.php", "w"); // abre o arquivo para escrita fputs($fp, $config); //envia as configurações para o arquivo fclose($fp); // fecha o arquivo?><HTML><HEAD> <TITLE>CADASTRO</TITLE><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></HEAD><BODY BGCOLOR=#FFFFFF><font color="#CCCCCC"></font> <p align="justify"> <font color="#006699" size="2" face="Verdana, Arial, Helvetica, sans-serif">Seu E-mail foi cadastrado com sucesso! Obrigado.<br> <font size="1">Em breve você vai começar a receber nossos e-mails informativos.<br> </font></font> </p></BODY></HTML><?php}else{?><HTML><HEAD> <TITLE>CADASTRO</TITLE></HEAD><BODY BGCOLOR=#FFFFFF><body link="#006699" vlink="#006699" alink="#006699" scroll="no"><div align="center"> <font color="#006699" size="2" face="Verdana, Arial, Helvetica, sans-serif"><img src="../imagens/seta.jpg">Cadastre-se e receba nossas novidades! </font><font color="#006699" size="2" face="Verdana, Arial, Helvetica, sans-serif"> <form method=post action="cadastrar.php"> Nome <input type="text "name="nome" SIZE=20> <BR> E-mail <input type="text" name="email" size=20> <BR> <input type="hidden" name="tela" value="2"> <INPUT TYPE="submit" VALUE="Cadastrar"></form></font><?php echo "<font color=red>$erro</font>"; ?> </BODY></HTML><?php}?>E ainda tem o cadastro php, o config.php e o administrador.php!Acho que o erro não é no código, porque funciona no servidor!!!mas no meu computador ele tá fazendo gracinha! Quote Link to comment Share on other sites More sharing options...
0 Error404 Posted August 11, 2004 Report Share Posted August 11, 2004 É o register_globals, como eu suspeitava...Funciona no seu servidor porque o register_globals dele deve estar ativado.Mas o register_globals ligado pode gerar uma série de problemas que acabam levando à falta de segurança do seu site, facilitando a injeção de códigos e outros problemas.Então, faça o seguinte, cara: sempre que você for pegar o valor de uma variável que veio de um form que usa POST, não use $variavel, use $_POST['variavel'], se o form usar GET, use $_GET['variavel'].Isso deve fazer com que o seu código funcione em servidores com o register_globals ON e OFF... Quote Link to comment Share on other sites More sharing options...
0 allanlf Posted August 13, 2004 Author Report Share Posted August 13, 2004 Cara muito obrigado...mas eu estou iniciando agora em pHP e sou meio leigo no assunto!teriac como você me dar um exemplo do que eu tenho que mudar no código que eu postei acima?Valeu hem!!! Quote Link to comment Share on other sites More sharing options...
0 ppgsalomao Posted August 13, 2004 Report Share Posted August 13, 2004 Exemplo:Se você no formulário tem o campo "nome".No caso, que o register_globals tah off, para recebêlo no PHP, é só você colocar assim oh:$_POST['nome']Pro caso do método do formulário ser POST e:$_GET['nome']Pro caso do método do formulário ser GET.Ou simplismente coloca no topo do código PHP assim oh:foreach ($_POST as $campo => $valor) { $$campo = strip_tags($valor); } Quote Link to comment Share on other sites More sharing options...
0 allanlf Posted August 13, 2004 Author Report Share Posted August 13, 2004 então o que era assim: $cadastro ="$nome][";fica assim: $cadastro =_POST['nome]";certo? Quote Link to comment Share on other sites More sharing options...
0 taudujas Posted August 13, 2004 Report Share Posted August 13, 2004 então o que era assim: $cadastro ="$nome][";fica assim: $cadastro =_POST['nome]";certo? Ficaria assim Alan: $cadastro = "$_POST['nome']"; Quote Link to comment Share on other sites More sharing options...
0 julioromano Posted August 13, 2004 Report Share Posted August 13, 2004 Ae Allan!Faz assim cara:o q era assim: $cadastro ="$nome]["; $cadastro.="$email]["; $cadastro.="$chave][\n"; fica assim: $cadastro ="$_POST['nome'] \n"; $cadastro.="$_POST['email'] \n"; $cadastro.="$_POST['chave'] \n"; entendeu?Espero ter ajudado!qualquer coisa posta ae!AbraçoJulio Romano Quote Link to comment Share on other sites More sharing options...
0 allanlf Posted August 13, 2004 Author Report Share Posted August 13, 2004 ok.estou começando a entender!Mas fiz as auterações que o Julio me disse e deu esse erro:Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in c:\arquivos de programas\easyphp1-7\www\nesw\cadastrar.php on line 77e a linha 77 é: $cadastro ="$_POST['nome'] \n";o que pode ser??? Quote Link to comment Share on other sites More sharing options...
0 julioromano Posted August 13, 2004 Report Share Posted August 13, 2004 ae o código arrumado allan:<?php include('config.php'); function verifica_mail($mail) { if (strpos ($mail, "@") == 0) { return true; } list($user,$domain)=split("@",$mail,2); if (checkdnsrr($domain,"MX")) { return false; } else { return true; } } if(@$_POST['tela'] == "2") { $n_erros = 0; $erro = " "; if(empty($email)) { $erro.= "Obrigatório digitar o e-mail.<br>"; $n_erros++; } elseif (verifica_mail($email)) { $erro.= "Confira o e-mail e tente novamente.<br>"; $n_erros++; } if(empty($nome)) { $erro.= "Obrigatório digitar o nome.<br>"; $n_erros++; } }//if($tela==2) //if (!empty($nome)) if(@$_POST['tela'] == 2 and $n_erros == 0) { $tamanho = filesize($file_cad); if($tamanho < 1) { $fp = fopen($file_cad, "r+"); // abre o arquivo para escrita } else { $fp = fopen($file_cad, "a+"); // abre o arquivo para escrita } $cadastro ="$nome]["; $cadastro.="$email]["; $cadastro.="$chave][\n"; fputs($fp, $cadastro); //envia o cadastro fclose($fp); // fecha o arquivo $chave++; $config= "<?php\n"; $config.="\$password='$password';\n"; $config.="\$file_cad='$file_cad';\n"; $config.="\$url='$url';\n"; $config.="\$nome_ad='$nome_ad';\n"; $config.="\$mail_ad='$mail_ad';\n"; $config.="\$chave='$chave';\n"; $config.="?>"; $fp=fopen("config.php", "w"); // abre o arquivo para escrita fputs($fp, $config); //envia as configurações para o arquivo fclose($fp); // fecha o arquivo ?> <HTML> <HEAD> <TITLE>CADASTRO</TITLE><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></HEAD> <BODY BGCOLOR=#FFFFFF> <font color="#CCCCCC"></font> <p align="justify"> <font color="#006699" size="2" face="Verdana, Arial, Helvetica, sans-serif">Seu E-mail foi cadastrado com sucesso! Obrigado.<br> <font size="1">Em breve você vai começar a receber nossos e-mails informativos.<br> </font></font> </p> </BODY> </HTML> <?php } else { ?> <HTML> <HEAD> <TITLE>CADASTRO</TITLE></HEAD> <BODY BGCOLOR=#FFFFFF><body link="#006699" vlink="#006699" alink="#006699" scroll="no"><div align="center"> <font color="#006699" size="2" face="Verdana, Arial, Helvetica, sans-serif"><img src="../imagens/seta.jpg">Cadastre-se e receba nossas novidades! </font><font color="#006699" size="2" face="Verdana, Arial, Helvetica, sans-serif"> <form method=post action=""> Nome <input type="text "name="nome" SIZE=20> <BR> E-mail <input type="text" name="email" size=20> <BR> <input type="hidden" name="tela" value="2"> <INPUT TYPE="submit" VALUE="Cadastrar"> </form> </font><?php echo "<font color=red>"[email protected]$_POST['erro']."</font>"; ?> </BODY> </HTML> <?php } ?> Espero ter ajudadoqualquer coisa posta ae!AbraçoJulio Romano Quote Link to comment Share on other sites More sharing options...
0 allanlf Posted August 13, 2004 Author Report Share Posted August 13, 2004 valeu cara!brigadão hem! Quote Link to comment Share on other sites More sharing options...
Question
allanlf
instalei o EasyPHP na minha máquina...
já coloquei o meu site dentro da pasta www, só que quando eu acesso ele, o que é em php dá um monte e erro!
ainda não mexi no tal de IIS para rodar PHP, tenho configurá-lo?
como?
Meu windwos é 2000!
Link to comment
Share on other sites
15 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.