Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Mudei o site de hospedagem e passou a dar o seguinte erro na página inicial de login:
Warning: session_start() [function.session-start]: open(/var/lib/php-cgi/session/sess_g9eicggvpdsfihgv2j1pmp1f65, O_RDWR) failed: No such file or directory (2) in /home/storage/9/f5/d6/site1382018541/public_html/sistema/index.php on line 37
As versões do php são: localhost 5.3.8 Do servidor: 5.2.17.
linha apontada como erro:
if (!isset($_SESSION)) { **//esta é a linha do problema.**
session_start();
}
$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
$_SESSION['PrevUrl'] = $_GET['accesscheck'];
}
Se alguém puder me dar uma luz, eu agradeço.
>
Coloca o arquivo index para verificar o problema.
se o problema for só verificação pergunto, existe alguma coisa mais em cima?
if (!isset($_SESSION)) { **//esta é a linha do problema.**
session_start();
}
<?php require_once('../Connections/tecnoclean.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
?>
Existe este php criado pelo Dreamweaver, acima do comando if (!isset($_SESSION)) { **//esta é a linha do problema.**
session_start();
}
Este aquivo, na verdade é um falso index, pois ele está em um diretório no site. Devia ter criado com outro nome, mas quando eu comecei era a pagina principal..hehe.
Vai aí todo o index.php
<?php require_once('../Connections/tecnoclean.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
?>
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
session_start();
}
$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
$_SESSION['PrevUrl'] = $_GET['accesscheck'];
}
if (isset($_POST['login'])) {
$loginUsername=$_POST['login'];
$password=$_POST['senha'];
$MM_fldUserAuthorization = "nivel";
$MM_redirectLoginSuccess = "clientes/inicial.php";
$MM_redirectLoginFailed = "index.php?erro=1";
$MM_redirecttoReferrer = false;
mysql_select_db($database_tecnoclean, $tecnoclean);
$LoginRS__query=sprintf("SELECT nome, senha, nivel FROM usuarios WHERE nome=%s AND senha=%s",
GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));
$LoginRS = mysql_query($LoginRS__query, $tecnoclean) or die(mysql_error());
$loginFoundUser = mysql_num_rows($LoginRS);
if ($loginFoundUser) {
$loginStrGroup = mysql_result($LoginRS,0,'nivel');
if (PHP_VERSION >= 5.1) {session_regenerate_id(true);} else {session_regenerate_id();}
//declare two session variables and assign them
$_SESSION['MM_Username'] = $loginUsername;
$_SESSION['MM_UserGroup'] = $loginStrGroup;
if (isset($_SESSION['PrevUrl']) && false) {
$MM_redirectLoginSuccess = $_SESSION['PrevUrl'];
}
header("Location: " . $MM_redirectLoginSuccess );
}
else {
header("Location: ". $MM_redirectLoginFailed );
}
}
?><html xmlns="[http://www.w3.org/1999/xhtml](http://www.w3.org/1999/xhtml)"><!-- InstanceBegin template="/Templates/tabelas.dwt.php" codeOutsideHTMLIsLocked="false" -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><style type="text/css">
#apDiv1 {
position:absolute;
left:303px;
top:457px;
width:310px;
height:29px;
z-index:1;
background-color: #FFFF33;
}
</style><link href="CSS/estilos.css" rel="stylesheet" type="text/css" />
<link href="CSS/Accessible_Forms.css" rel="stylesheet" type="text/css" />
<script src="SpryAssets/SpryMenuBar.js" type="text/javascript"></script>
<link href="SpryAssets/SpryMenuBarHorizontal.css" rel="stylesheet" type="text/css" />
<style type="text/css">
#geral {
font-family: "Courier New", Courier, monospace;
font-size: 12px;
width: 1024px;
}
</style>
</head>
<body>
<div id="#global" align="center">
<div id="#topo">
<table width="100%" border="0" align="center" cellspacing="1" style="margin:auto">
<tr>
<td colspan="3" align="center" bgcolor="#D2FFFF"><img src="imagens/logo_sup.jpg" width="890" height="150" border="0" usemap="#suporte" /></td>
</tr>
<tr bgcolor="#DFFFFE">
<td width="25%"><div align="center"></div>
<p align="center"> </p>
<div align="center" class="small"></div></td>
<td width="55%" align="center" valign="top"><ul id="MenuBar1" " class="MenuBarHorizontal">
<li><a href="#" class="MenuBarItemSubmenu">Clientes</a>
<ul>
<li><a href="clientes/incluir_cliente.php">Incluir Novo Cliente</a></li>
<li><a href="clientes/clientes_total.php">Localizar Clientes</a></li>
</ul>
</li>
<li><a href="#" class="MenuBarItemSubmenu">Fornecedores</a>
<ul>
<li><a href="fornecedor/incluir_fornecedor.php">Incluir Fornecedor</a></li>
<li><a href="fornecedor/informa_forn_alterar.php">Localizar Fornecedor</a></li>
</ul>
</li>
<li><a href="#" class="MenuBarItemSubmenu">Despesas</a>
<ul>
<li><a href="despesas/despesas.php">Incluir </a> </li>
<li><a href="despesas/informa_pgto_realizado.php">Pagar</a></li>
<li><a href="despesas/informa_despesa_excluir.php">Excluir </a></li>
<li><a href="despesas/informa_desp_alterar.php">Alterar</a></li>
</ul>
</li>
<li><a href="#" class="MenuBarItemSubmenu">Orçamentos e OS</a>
<ul>
<li><a href="orcamento/informa_cliente_orcamento.php">Lançar Orçamento</a> </li>
<li><a href="orcamento/alterar_orc/informa_cliente_buscar_orc.php">Alterar Orçamento</a></li>
<li><a href="ordem_de_servico/emite_os.php">Lança OS</a></li>
<li><a href="ordem_de_servico/busca_cliente_os_alterar.php">Alterar OS</a></li>
</ul>
</li>
<li><a href="#" class="MenuBarItemSubmenu">Cadastros</a>
<ul>
<li><a href="tipo_serv/lista-servicos.php" class="MenuBarItemSubmenu">Serviços</a>
<ul>
<li><a href="tipo_serv/inclui_serv.php">Incluir</a></li>
<li><a href="tipo_serv/lista-servicos.php">lista</a></li>
</ul>
</li>
<li><a href="produtos/lista_produto.php" class="MenuBarItemSubmenu">Produtos</a>
<ul>
<li><a href="produtos/inclui_produto.php">Incluir</a></li>
<li><a href="produtos/lista_produto.php">listar</a></li>
</ul>
</li>
<li><a href="funcionarios/lista_func.php" class="MenuBarItemSubmenu">Funcionários</a>
<ul>
<li><a href="funcionarios/incluir_func.php">Incluir</a></li>
<li><a href="funcionarios/lista_func.php">Listar</a></li>
</ul>
</li>
<li><a href="#" class="MenuBarItemSubmenu">Senhas</a>
<ul>
<li><a href="incluir_novo_usuario.php">Incluir Usuário</a></li>
<li><a href="adm/informa_usuario_senha.php">Alterar Senha</a></li>
<li><a href="adm/informa_usuario_excluir.php">Excluir Usuário</a></li>
</ul>
</li>
<li><a href="#" class="MenuBarItemSubmenu">Embalagens</a>
<ul>
<li><a href="embalagens/cadastra_embalagem.php">Cadastrar</a></li>
<li><a href="embalagens/lista_embalagem.php">Listar</a></li>
</ul>
</li>
<li><a href="#" class="MenuBarItemSubmenu">Despesas</a>
<ul>
<li><a href="despesas/lista_categoria.php">Lista Categoria</a></li>
<li><a href="despesas/lista_subcategoria.php">Lista Sub-categoria</a></li>
</ul>
</li>
<li><a href="veiculos/cadastro_veiculo.php" class="MenuBarItemSubmenu">Veículos</a>
<ul>
<li><a href="veiculos/cadastro_veiculo.php">Incluir Novo</a></li>
<li><a href="veiculos/busca_para_alterar.php">Alterar dados veiculo</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="relatorios/rol_de_relatorios.php">Relatórios</a> </li>
<li><a href="#" class="MenuBarItemSubmenu">Consumo de Raticida</a>
<ul>
<li><a href="consumo_rat/informa_cliente_lanca_consumo.php">Lançar Consumo</a></li>
<li><a href="consumo_rat/informa_consumo_altera.php">Alterar Consumo</a></li>
<li><a href="consumo_rat/informa_consumo_excluir.php">Excluir Consumo</a></li>
</ul>
</li>
</ul></td>
<td width="15%" align="center"> </td>
</tr>
</table>
<div id="geral"><!-- InstanceBeginEditable name="conteudo" -->
<form ACTION="<?php echo $loginFormAction; ?>" id="form1" name="form1" method="POST">
<p> </p>
<table border="1" align="center" cellspacing="1" style="margin-bottom:150px; margin-top:150px">
<tr>
<td align="center" bgcolor="#D9FDFF"><p>
<?php if (isset($_GET['erro']) && $_GET['erro'] ==1){?>
Atenção: erro de login ou senha</p></td>
<?php }?>
</tr>
<tr>
<td bgcolor="#D9FDFF"><table width="100%">
<tr align="left">
<td>Login:</td>
<td><label for="login"></label>
<input name="login" type="text" id="login" size="20" /></td>
</tr>
<tr align="left">
<td>Senha:</td>
<td><label for="senha"></label>
<input name="senha" type="password" id="senha" size="10" /></td>
</tr>
<tr align="center">
<td colspan="2"><input type="submit" name="enviar" id="enviar" value="Enviar" /></td>
</tr>
</table></td>
</tr>
</table>
<span class="TitleColor">acesso exclusivo a funcionários da tecnoclean</span><br />
<p><a href="../index.php">voltar</a></p>
<p> </p>
</form>
<!-- InstanceEndEditable --></div>
</div>
</div>
<div id="rodape">desenvolvido por:<br>
<a href="[http://www.casconsult.eng.br](http://www.casconsult.eng.br)">www.casconsult.eng.br </a></div>
<map name="suporte" id="suporte">
<area shape="rect" coords="787,1,888,36" href="session_destroy.php"/>
<area shape="rect" coords="713,43,877,146" href="clientes/inicial.php" alt="home" />
</map>
<script type="text/javascript">
var MenuBar1 = new Spry.Widget.MenuBar("MenuBar1", {imgDown:"../SpryAssets/SpryMenuBarDownHover.gif", imgRight:"../SpryAssets/SpryMenuBarRightHover.gif"});
</script>
</body>
<!-- InstanceEnd --></html>Pelo que vejo não e necessário esta verificação.
Pelo que vejo não e necessário esta verificação.
Realmente, eu posso montar uma forma mais simples de checar o email e senha, mas minha preocupação é se há incompatibilidade nas versões ou em alguma configuração do php do servidor que possa interferir em outras partes do programa. Vou tentar descobrir antes de mudar, pois vai dar trabalho refazer toda a segurança do site por este erro do php. Obrigado
Não meu amigo,
o session sempre vai está e a validação e fácil de fazer sem problemas de incompatibilidade de versões.
a melhor maneira de fazer essa sua validação de e-mail e usar o jquery validate ele e otimo para validações.
A verificação e inicialização de sessão você faz se o usuário entrou com os dados corretos.
Cria uma função para isso e só inclui nas paginas que deseja proteger.
ex. sempre antes inicia a sessão
function ($email , $senha) {
session_start();
if( !isset($_SESSION['email_entrar']) && !isset($_SESSION['senha_entrar']) ){
header('Location: login.php');
} // Caso não exista...
else{
// Faça a conexão com o banco de dados.
// Selecione o Banco de dados.
$sql = "SELECT * FROM tabela WHERE email = '".$_SESSION['email_entrar']."' AND senha = '".$_SESSION['senha_entrar']."' ";
$exe = tipo_conexao($sql);
if(tipo_verificacao_da_conexao_contagem_linhas($exe) == 0){
unset($_SESSION['email_entrar']);
unset($_SESSION['senha_entrar']);
session_destroy();
header('Location: login.php');
}else{ return false;}
} // end_else
} // Fim da função
E só uma ideia, entenda o que fiz, adapte a sua necessidade claro.
Este post solucionou a sua dúvida, peço que coloque como resolvido e me der um ponto positivo de reputação para que eu possa continuar ajudando outros colegas como você.
Caso não solucione o seu problema, peço que coloque a sua dúvida abaixo.
Att: João Paulo Sousa Supriano
>
Não meu amigo,
o session sempre vai está e a validação e fácil de fazer sem problemas de incompatibilidade de versões.
a melhor maneira de fazer essa sua validação de e-mail e usar o jquery validate ele e otimo para validações.
A verificação e inicialização de sessão você faz se o usuário entrou com os dados corretos.
Cria uma função para isso e só inclui nas paginas que deseja proteger.
ex. sempre antes inicia a sessão
function ($email , $senha) {
session_start();
if( !isset($_SESSION['email_entrar']) && !isset($_SESSION['senha_entrar']) ){
header('Location: login.php');
} // Caso não exista...
else{
// Faça a conexão com o banco de dados.
// Selecione o Banco de dados.
$sql = "SELECT * FROM tabela WHERE email = '".$_SESSION['email_entrar']."' AND senha = '".$_SESSION['senha_entrar']."' ";
$exe = tipo_conexao($sql);
if(tipo_verificacao_da_conexao_contagem_linhas($exe) == 0){
unset($_SESSION['email_entrar']);
unset($_SESSION['senha_entrar']);
session_destroy();
header('Location: login.php');
}else{ return false;}
} // end_else
} // Fim da função
E só uma ideia, entenda o que fiz, adapte a sua necessidade claro.
Este post solucionou a sua dúvida, peço que coloque como resolvido e me der um ponto positivo de reputação para que eu possa continuar ajudando outros colegas como você.
Caso não solucione o seu problema, peço que coloque a sua dúvida abaixo.
Att: João Paulo Sousa Supriano
Pois é, descobri que o problema é só alterar a pasta temporária no servidor linux, no php.ini. Baixei o Putty para fazer isto, agora estou quebrando a cabeça para descobrir como abro o arquivo para edição. Se alguém souber...
Pois é, descobri que o problema é só alterar a pasta temporária no servidor linux, no php.ini. Baixei o Putty para fazer isto, agora estou quebrando a cabeça para descobrir como abro o arquivo para edição. Se alguém souber...
Foi mais facil do que eu esperava. Dá para utilizar o gerenciador de arquivos da propria hospedagem e baixar o php.ini, alterar e retornar para a hospedagem.
Coloca o arquivo index para verificar o problema.
se o problema for só verificação pergunto, existe alguma coisa mais em cima?