O php muda do Windows para o linux? [RESOLVIDO]

1. O php muda do Windows para o linux? [RESOLVIDO]

Milrak Pereira Pessoa
milrak

(usa Ubuntu)

Enviado em 02/08/2012 - 01:48h

Boa noite pessoal, eu tenho um programinha em php que funciona perfeitamente no servidor vertrigo, lá no sistema operacional windows, quando migrei para o linux ele parou de funcionar.. O.o
(Na verdade não quero mecher no código porque só estou mechendo com a parte gráfica do sistema...)

Mas vou mostrar o erro:

Notice: Undefined variable: acao in /var/www/SisContVendaGrCirc/index.php on line 3

Aqui é o código:

1 <?php
2 include("funcoes.php");
3 if ($acao == 'autenticar')
4 {
5 VerificaUsuarioInativo($login);


Sou aprendiz na linguagem tbm, pode ter algum erro aqui que eu não esteja vendo.. (Pra falar a verdade eu sei bem php, e não achei nenhum erro, eu não sei o porque desse erro). :x

Tem alguma coisa haver com os programas maus instalados? ou é só uma questão de sintax?


  


2. Re: O php muda do Windows para o linux? [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 02/08/2012 - 02:20h


...e não achei nenhum erro


Em que momento $acao recebe conteúdo? Veja que o erro é esse!


3. Re: O php muda do Windows para o linux? [RESOLVIDO]

Milrak Pereira Pessoa
milrak

(usa Ubuntu)

Enviado em 02/08/2012 - 12:37h

rai3mb, bem vou postar metade do código na integra.. õ/ kkkk...

<?php
include("funcoes.php");
if ($acao == 'autenticar')
{
VerificaUsuarioInativo($login);
$sql = pg_query("SELECT * FROM tabusuarios WHERE login = '$login' and senha = '$senha'");
$vetor = pg_fetch_array($sql);//cria um vetor com o resultado da consulta sql
$linhas = pg_num_rows($sql);//retorna o num de linhas encontradas no sql
//echo $vetor; exit;
if ($linhas == 1)
{
session_start(); //iniciando a sessão no navegador
//so vai entrar aqui se achou o usuario e senha
$login = $vetor['login'];//armazenando o login na var $login
$nivel = $vetor['id_nivel'];//armazenando o nivel na var $nivel
$idusuario = $vetor['id'];
$wra = array($login,$nivel,$idusuario);//criando a var $wra que será nossa sessao
$_SESSION['wra'] = $wra; //exit;//sessão wra recebe o vetor(array) wra contendo login e nível
echo "<script>location='principal.php';</script>";
}
else {
//aqui se nao achou usuario e senha
echo "<script>alert('Login ou Senha Inválidos');</script>";
echo "<script>location='index.php';</script>";
}
}//fechando o if acao
?>
<html>
<head>
<title><?=$title;?></title>
<link rel="stylesheet" href="./estilo.css" type="text/css" media="screen">
</head>
<body onload="document.form1.login.focus();" align="center" bgcolor="#cccccc">
<form name="form1" method="post" action="?acao=autenticar">
<div align="center">
<H1>
<div class="topo1" style="height:40px; width: 800px" >
ESTA&Ccedil;&Atilde;O DOS MOVEIS
</div>
</H1>
</div>
<br><br>
<div align="center">
<div class="login" style="height:auto; width: 800px">
<br>
<table border=0>
<tr>
<td width="200" align="center">
<table width="150" align="center" border="0" >
<tr>
<td align="center"><b>SEJA BEM-VINDO<hr></b><br></td>
</tr>
<tr>
<td><b>Usu&aacute;rio</b></td>
</tr>
<tr>
</tr>
<td><input type="text" name="login" id="login"></td>
<tr>
<td><b>Senha</b></td>
</tr>
<tr>
<td><input type="password" name="senha" id="senha"></td>
</tr>
<tr >
<td colspan="2" ALIGN="RIGHT"><input type="submit" class="button_e" name="bt" value="ENTRAR"></td>
</tr>
</table>
</td>
<td width="80" align="center">
<img src="img/linha.png">
</td>
<td align="center">
<img src="img/1.png">
</td>
</td>
</table>
<br>
</div>
</div>
<br>
<?php include "rodape.php";?>
</form>
</body>
</html>


4. Re: O php muda do Windows para o linux? [RESOLVIDO]

Milrak Pereira Pessoa
milrak

(usa Ubuntu)

Enviado em 02/08/2012 - 13:50h

Será que é o PHP que está mau instalado? O.o sei lá? (Porque assim: quando eu clico no botão ENTRAR, não aparece nada, nem a pensagem de erro -> echo "<script>alert('Login ou Senha Inválidos');</script>";

O que pode está acontecendo? ;)


5. Re: O php muda do Windows para o linux? [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 02/08/2012 - 23:42h

Procura ver em que momento a variável $acao recebe conteúdo, e se todos os arquivos foram levados até o novo servidor, javascript, css,, etc.

Habilite os erros do seu php, assim fica mais fácil achar os erros..


6. Re: O php muda do Windows para o linux? [RESOLVIDO]

Victocha
victocha

(usa Ubuntu)

Enviado em 02/08/2012 - 23:51h

Rapaz, assim como o amigo rai3mb disse, o erro está em não ter nada setado na variável $acao;

Ao meu ver ela vai receber a ação para load da requisição

Então antes da linha


if($acao == 'autenticar'); acrescente algo como


$acão =$_GET['ação'];


Espero que seja isto... Boa sorte e Bons estudos.


7. Re: O php muda do Windows para o linux? [RESOLVIDO]

Milrak Pereira Pessoa
milrak

(usa Ubuntu)

Enviado em 03/08/2012 - 14:12h

Bom, apesar de já ter percebido o erro.. :/ eu não entendo.. Em um servidor localhost no windows rodando o vertrigo, o sistema funciona perfeitamente.. :/ e agora aqui ele num quer funcionar...

Ele nem o alert ele mostrar quando eu tento logar sem os dados.. :/


8. Re: O php muda do Windows para o linux? [RESOLVIDO]

Victocha
victocha

(usa Ubuntu)

Enviado em 05/08/2012 - 12:37h

Hmm... javascript é um assunto peculiar, pode informar qual navegador você está usando?

OBS:

Certifique-se de que o javascript esteja habilitado.


Até mais!


9. Re: O php muda do Windows para o linux? [RESOLVIDO]

Rodrigo
neosoro

(usa Ubuntu)

Enviado em 06/08/2012 - 03:16h

apesar de estar marcado como resolvido acontece um pequeno porém: esse erro apresentado, como falado anteriormente, ocorre porque a variável $acao não recebe nenhum valor até ser testada, na linha 3. isso acaba gerando um Notice, mas não é nada demais. isso ocorre não ocorre no windows, provavelmente pela configuração do servidor. dá uma olhada no teu php.ini e vê que erros ele está exibindo. uma dica que eu sempre faço:$acao = isset($_GET['acao'])?$_GET['acao']:"";

ou seja, a variável $acao irá fazer um teste. se algo for enviado, via $_GET (poderia ser via $_POST também), ele atribui o valor a variável, caso não atribui uma string vazia. poderia ser um "false" para poder fazer o teste booleano mesmo. no caso do javascript o location='index.php' deveria ser location.href = 'index.php'. bom, fora isso acredito que tudo vá funcionar. conhece o firebug? é excelente para trabalhar com javascript.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts