Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Will Up

Warning ao gravar no MySQL

Recommended Posts

Quando tento gravar os dados de um formulário no BD, retorna esse Warning:

 

Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively in Unknown on line 0

 

Essa é a página q grava:

 

<?php 
session_start(); 
include"config.php"; 

$qData = "select * from `users` where (`Uid` = '".$_SESSION["Uid"]."')"; 
$rData = mysql_query($qData) or die(mysql_error()); 
$aData = mysql_fetch_array($rData); 

$Username = $_POST[username]; 
$Password = $_POST[Password]; 
$First_Name = $_POST[First_Name]; 
$Last_Name = $_POST[Last_Name]; 
$Email_Address = $_POST[Email_Address]; 
$Country = $_POST[Country]; 
$Titulo_portf = $_POST[Titulo_portf]; 
$Cor = $_POST[Cor]; 
$Avatar = $_FILES["avatar"]["name"]; 
$tmp_name = $_FILES["avatar"]["tmp_name"]; 
$Status = $_POST[status]; 
$t = time(); 

$pasta = 'avatar/'; 
$extensao = strtolower(end(explode('.', $Avatar))); 
$nome = md5(uniqid()) . '.' . $extensao; 

if(move_uploaded_file($tmp_name, $pasta . $nome)){ 

$q1 = "UPDATE `users` SET `First_Name` = '".$First_Name."', `Last_Name` = '".$Last_Name."', 
`Email_Address` = '".$Email_Address."', `Titulo_portf` = '".$Titulo_portf."', `Cor` = '".$Cor."', `Avatar` = '".$nome."', `Country` = '".$Country."' 
WHERE `Uid` = '".$_SESSION["Uid"]."'"; 
mysql_query($q1); 

header("location: myimages.php"); 

} 
?> 

 

O que está acontecendo?

Compartilhar este post


Link para o post
Compartilhar em outros sites
Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively in Unknown on line 0

 

 

 

Traduzindo resumidamente:

 

ATENCAo: DESCONHECIDO: seu script esta tendo realizar uma funcao que existia antes do php 4.2.5 .

Nao consideram variaveis globais como dados a não ser que você ative a funcao register_Globals (nao recomendado e vai ser extinta no php6)

 

 

Bem de acordo com o erro (não estou afirmando) o codigo é um pouco ultrapassado e uma possibilidade de funcionar seria ativar a funcao register_Gloabals

 

em geral um arquivo php.ini com register_gloabals = ON na pasta onde esta o script...

Compartilhar este post


Link para o post
Compartilhar em outros sites

"Bem de acordo com o erro (não estou afirmando) o codigo é um pouco ultrapassado" Ultrapassado como, não está tudo normal? :( Ativei o register_globals e uma página em branco é exibida no lugar do ero.

 

Tinha desativado por isso: http://forum.imasters.com.br/index.php?/topic/418466-deslogado-do-sistema-apos-gravar-dados-no-mysql/

 

O estranho é q tudo estava normal ontem oO

Compartilhar este post


Link para o post
Compartilhar em outros sites

como eu disse nao estava afirmando, estava apenas lendo a msg de erro..

 

você ja olhou com o seu suporte??

 

sobre esse erro.

 

tenta assim:

 

coloca isso no seu htaccess:

 

php_flag session.bug_compat_42 1
php_flag session.bug_compat_warn 0

 

senao funcionar cria um arquivo chamado ini.php e coloca no seu public_html se o servidor for linux com cPanel

 

session.bug_compat_42 = 1
session.bug_compat_warn = 0

 

me diz se resolveu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo então verifica com sua hospedagem se de ontem pra ca atualizaram o php ou apache, eu tenho um vps e estava com php5.2.13 atualizei para 5.3.4 e oq apareceu de deprecated e warning foi fora do normal..

 

Passe o erro pra eles, deve ter uma solução.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Me disseram isso "Não vejo o que possa causar isso no seu script. Ative e desative o register_globals para ver se faz diferença".

 

Veja o que eu achei: http://www.spiration.co.uk/post/1231/Your%20script%20possibly%20relies%20on%20a%20session%20side-effect

 

Alterei só o _SESSION[uid] (o que conecta o script acima) e mas não conectou, será que devo alterar todas as sessions?

 

login.php

<?php
session_start();
include"config.php";

if (isset($_POST[login]))
{
       $Username = strip_tags($_POST[username]);
       $Password = strip_tags($_POST[password]);

       if(empty($Username) || empty($Password))
       {
               echo "<br><center>Todos os campos devem ser preenchidos!</center>";
               require_once("loginform.php");
      		require_once("footer.php");    
       }
       else
       {
	$password11 = $_POST[password];
               $qlogin = "select * from `users` where `Username` = '$Username' and `Password` = '$password11' and `Status` = 'Active'";
               $rlogin = mysql_query($qlogin) or die(mysql_error());

               if(mysql_num_rows($rlogin) == '1')
               {
                       if($alogin = mysql_fetch_array($rlogin))
                       {


                               $_SESSION[uid] = $alogin[uid];
                               $_SESSION[username] = $alogin[username];
                               $_SESSION[Email_Address] = $alogin[Email_Address];
                               $_SESSION[Name] = $alogin[First_Name];
                               $_SESSION[Last_Name] = $alogin[Last_Name];
							$_SESSION[First_Name] = $alogin[First_name];
							$_SESSION[Country] = $alogin[Country];
                               $timestamp = mktime(date("H")-3, date("i"), date("s"), date("m"), date("d"), date("Y"));
                               $hora=gmdate("H:i:s", $timestamp);
                               $data=date("d/m/y");

// Grava os dados no BD								
$inserir = mysql_query("INSERT INTO logins (id, usuario, email, ip, data, hora) VALUES ('', '$alogin[username]', '$alogin[Email_Address]', '".$_SERVER['REMOTE_ADDR']."', '$data', '$hora')");


?>
<HTML>
<HEAD>
<script LANGUAGE="JavaScript">
<!-- Begin
redirTime = "1000";
redirURL = "myimages.php";
function redirTimer() { self.setTimeout("self.location.href = redirURL;",redirTime); }
//  End -->
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Login</title>
<link rel="stylesheet" type="text/css" href="style.css">
</HEAD>

<BODY onLoad="redirTimer()">
<?
echo'<br><br><br>
<center><img border="0" src="/imagens/loading.gif"><br><br><b>Se você não ser redirecionado em cinco segundos <a href="index.php">Clique Aqui</a></b></center>';



                       }
               }
               else
               {
               require_once("loginform.php");
?>

<div id='aviso'><center style='background: #FCC; color: #A00; margin-top: 0; font-size: 14px; padding: 5px;'><?=USUARIO_INVALIDO?></center></div>

<?
			require_once("footer.php");
               }

       }
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu to de saida agora e sem tempo pra olhar, mas a principio algo que ja via aos montes

 

$Username = strip_tags($_POST[username]);
$Password = strip_tags($_POST[password]);
//

coloca aspas em tudo

$Username = strip_tags($_POST["username"]);
$Password = strip_tags($_POST["password"]);

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.