Ir para conteúdo
Fórum Script Brasil
  • 0

Não Consigo


allanlf

Pergunta

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 para o comentário
Compartilhar em outros sites

15 respostass a esta questão

Posts Recomendados

  • 0

Notice: Undefined variable: tela in c:\arquivos de programas\easyphp1-7\www\nesw\cadastrar.php on line 40

o final "on line 40" muda de acordo com o endereço...

Link para o comentário
Compartilhar em outros sites

  • 0

cara apareceu um monte de coisa!!!

quer que eu te mande por pm o que tá aqui?

Link para o comentário
Compartilhar em outros sites

  • 0

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?

Link para o comentário
Compartilhar em outros sites

  • 0

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 40

Notice: Undefined variable: tela in c:\arquivos de programas\easyphp1-7\www\nesw\cadastrar.php on line 66

Cadastre-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 130

ele está inserido no documento como um

              <?

include("nesw/cadastrar.php");

?>

e o código dele é:

<?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($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&nbsp;

  <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!

Link para o comentário
Compartilhar em outros sites

  • 0

É 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... smile.gif

Link para o comentário
Compartilhar em outros sites

  • 0

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!!!

Link para o comentário
Compartilhar em outros sites

  • 0

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); }

Link para o comentário
Compartilhar em outros sites

  • 0

então o que era assim:

$cadastro ="$nome][";

fica assim:

$cadastro =_POST['nome]";

certo?

Link para o comentário
Compartilhar em outros sites

  • 0

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ço

Julio Romano

Link para o comentário
Compartilhar em outros sites

  • 0

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 77

e a linha 77 é:

$cadastro ="$_POST['nome'] \n";

o que pode ser???

Link para o comentário
Compartilhar em outros sites

  • 0

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&nbsp; 
  <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>".@$_POST['erro']."</font>"; ?> 
</BODY>
</HTML>
<?php
}
?>

Espero ter ajudado

qualquer coisa posta ae!

Abraço

Julio Romano

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...