magnetu 0 Denunciar post Postado Agosto 29, 2011 Bom dia galera do PHP. Seguinte tenho uma página de login e tambem o mesmo login no topo de todo o site, mas quando tento logar em um determinado local do site da esse erro. Fatal error: Call to undefined function: getsqlvaluestring() in /home/httpd/vhosts/obraprimaguia.com.br/httpdocs/top.php on line 23 porem tento logar em outro lugar do site e tudo corre perfeitamente... o que pode ser? Compartilhar este post Link para o post Compartilhar em outros sites
Leozitho 81 Denunciar post Postado Agosto 29, 2011 Como a mensagem de erro informa, a função não está definida. Provavelmente você esqueceu de incluir o arquivo que possui a função. Compartilhar este post Link para o post Compartilhar em outros sites
magnetu 0 Denunciar post Postado Agosto 29, 2011 Como a mensagem de erro informa, a função não está definida. Provavelmente você esqueceu de incluir o arquivo que possui a função. Ok, mas na pagina de login o top funciona, porem nas outras não então joguei o codigo para o define e chamo nas paginas mas tamben não funciona... ae aparece o seguinte erro. Warning: session_regenerate_id() [function.session-regenerate-id]: Cannot send session cookie - headers already sent by (output started at /home/httpd/vhosts/obraprimaguia.com.br/httpdocs/define.php:6) in /home/httpd/vhosts/obraprimaguia.com.br/httpdocs/top.php on line 62 Warning: Cannot modify header information - headers already sent by (output started at /home/httpd/vhosts/obraprimaguia.com.br/httpdocs/define.php:6) in /home/httpd/vhosts/obraprimaguia.com.br/httpdocs/top.php on line 70 segue o código da função <?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['usoEmail'])) { $loginUsername=$_POST['usoEmail']; $password=$_POST['usoSenha']; $MM_fldUserAuthorization = ""; $MM_redirectLoginSuccess = "revista.php"; $MM_redirectLoginFailed = "login.php?erroLogin=true"; $MM_redirecttoReferrer = false; mysql_select_db($database_conexao, $conexao); $LoginRS__query=sprintf("SELECT usoEmail, usoSenha FROM `user` WHERE usoEmail=%s AND usoSenha=%s", GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text")); $LoginRS = mysql_query($LoginRS__query, $conexao) or die(mysql_error()); $loginFoundUser = mysql_num_rows($LoginRS); if ($loginFoundUser) { $loginStrGroup = ""; 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 ); } } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Williams Duarte 431 Denunciar post Postado Agosto 29, 2011 Tente estudar PHP! ;) Compartilhar este post Link para o post Compartilhar em outros sites
magnetu 0 Denunciar post Postado Agosto 29, 2011 Oh meu velho, é o que estou tentando fazer... e graças a vocês aqui do forum isso esta sendo possível pois só no estudo não da pra entender nada. mas valeu a força Tente estudar PHP! ;) Compartilhar este post Link para o post Compartilhar em outros sites
Williams Duarte 431 Denunciar post Postado Agosto 29, 2011 Não você não esta estudando a linguagem em si, e sim gerando códigos pelo Dreamweaver, senão saberia o que era o erro de cara! Por isso insisto estude a linguagem PHP e não um a IDE de geração de códigos. Dificilmente achara ajuda enquanto gerar códigos e não aprenderá nada! ;) Compartilhar este post Link para o post Compartilhar em outros sites
magnetu 0 Denunciar post Postado Agosto 29, 2011 Entendo o que esta dizendo, porem não há tempo hábil para o mesmo pois é um projeto extremamente pequeno e que não mais terei de retornar a mexer... De qualquer forma acredito que se tivesse postado uma ajuda mesmo junto com sua critica seria mais construtivo do que apenas a critica... quem sabe um dia ainda venho a ter tempo de um estudo afundo do php então postarei problemas ao seu nível de conhecimento assim você poderá me ajudar. Não você não esta estudando a linguagem em si, e sim gerando códigos pelo Dreamweaver, senão saberia o que era o erro de cara! Por isso insisto estude a linguagem PHP e não um a IDE de geração de códigos. Dificilmente achara ajuda enquanto gerar códigos e não aprenderá nada! ;) Compartilhar este post Link para o post Compartilhar em outros sites
Williams Duarte 431 Denunciar post Postado Agosto 29, 2011 Não me culpe pelos seus problemas é só um FeedBack B) Compartilhar este post Link para o post Compartilhar em outros sites
magnetu 0 Denunciar post Postado Agosto 29, 2011 De maneira alguma lhe culpei, por problemas meus..., so estou lhe retornando o que eu penso, mas tudo bem acho que o fórum é pra discutir PHP e não esse tipo de conversa, mais uma vez obrigado pela ajuda. Não me culpe pelos seus problemas é só um FeedBack B) Compartilhar este post Link para o post Compartilhar em outros sites
Estud@nte 6 Denunciar post Postado Agosto 29, 2011 @Magnetu A vida é dura pra quem quer moleza! Como WDuarte disse, dificilmente alguém ajuda as pessoas que não tem a mínima noção de suas linhas de código, seja ela em que linguagem for. Mas ter aconselho um ótimo tópico a respeito Fórum de Tecnologia não é... Autor: William Bruno Compartilhar este post Link para o post Compartilhar em outros sites
magnetu 0 Denunciar post Postado Agosto 29, 2011 Gente... tranquilo, vocês não estão sendo obrigados a nada, se fiz algo que para vocês é coisa de noob, me desculpe pois infelizmente não sei praticamente nada de php, a minha missão nesse trabalho so para vocês entenderem, eu peguei um site todo bagunçado precisando de ajustes pois o responsável saiu da empresa e deixou tudo largado e alem disso não passou se quer as senhas os acessos nescessários, e para não perder um cliente muito sério a empresa me solicitou em carater de urgência ate que se contrate um programador para dar continuidade no trabalho, como é bem complicado achar profissional responsável estamos tapando buraco e como não conheço ninguem que saiba php recorri ao forum pela capacidade que vocês que ja estão no mercado a tempo me ajudarem e a palavra ja diz Ajuda, ajuda quem quer, quem pode, e quem acha nescessário, meus queridos não estou obrigando ninguem a me passar nada de mão beijada, de forma alguma participo de foruns de minha área e sempre tento resolver os problemas sejam eles grande ou pequenos é assim que penso é assim que acho correto, de qualquer forma não acho que vocês tem de pensar como eu. Então lhes digo se fiz algo que chateou vocês, se postei algo que passou a impressão de eu estar querendo tudo na mão me desculpe novamente pois tenham certeza não foi a intensão se um dia eu postar novamente aqui vou tentar fazer o máximo possível para entender por completo o código nem que isso tenha de demorar anos..., pois não quero prejudicar ninguem e muito menos faze-los perder tempo. Mais uma vez desculpe por ter passado uma impressão errada de minha pessoa, bom trabalho a todos e muito obrigado no que ja me ajudaram pois foi muito útil. Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Agosto 29, 2011 poste os arredores da linha 23(e a propria linha 23) do arquivo top.php function GetSQLValueString(){} Compartilhar este post Link para o post Compartilhar em outros sites
magnetu 0 Denunciar post Postado Agosto 29, 2011 poste os arredores da linha 23(e a propria linha 23) do arquivo top.php function GetSQLValueString(){} Só te explica para melhorar o entendimento ele me retorna essa informação se eu passar as headers para cima..., caso contrário ele retorna (Warning: Cannot modify header information) Em minha página de login funciona tanto o login da pagina como o login do topo do site, porem em outras abas do site como a home o login to topo da pagina não funciona... ou seja somente quando o top ta dentro da aba login é que funciona e os códigos dos dois são identicos tanto do login como do top.php. Arredores da linha if (!isset($_SESSION)) { session_start(); } $loginFormAction = $_SERVER['PHP_SELF']; if (isset($_GET['accesscheck'])) { $_SESSION['PrevUrl'] = $_GET['accesscheck']; } if (isset($_POST['usoEmail'])) { $loginUsername=$_POST['usoEmail']; $password=$_POST['usoSenha']; $MM_fldUserAuthorization = ""; $MM_redirectLoginSuccess = "revista.php"; $MM_redirectLoginFailed = "login.php?erroLogin=true"; $MM_redirecttoReferrer = false; mysql_select_db($database_conexao, $conexao); $LoginRS__query=sprintf("SELECT usoEmail, usoSenha FROM `user` WHERE usoEmail=%s AND usoSenha=%s", GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text")); $LoginRS = mysql_query($LoginRS__query, $conexao) or die(mysql_error()); $loginFoundUser = mysql_num_rows($LoginRS); if ($loginFoundUser) { $loginStrGroup = ""; //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 ); } } A linha 23 GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text")); Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Agosto 29, 2011 pegue essa declaração: 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; } } retire ela do outro arquivo, e jogue no top.php Compartilhar este post Link para o post Compartilhar em outros sites
magnetu 0 Denunciar post Postado Agosto 29, 2011 Então na verdade eu ja havia feito isso, mas ai para de funcionar todo o login, nem mesmo a que estava funcionando. Tentei tambem jogar esta declaração na minha define.php e chama-la dentro da top mas também não funcionou sempre retorna essa mensagem. Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Agosto 29, 2011 você colocou isso antes da tentativa de usar a função ? tem que funcionar. Compartilhar este post Link para o post Compartilhar em outros sites
magnetu 0 Denunciar post Postado Agosto 29, 2011 Exato antes da tentativa de usar a função. o que é extranho que os dois estão com os código identicos juntos eles funcionam mas quando o top esta sozinho na outra aba ele acusa a header, estou tentando resolver o caso da header se der certo acho que resolve o problema. Warning: Cannot modify header information - headers already sent by (output started at /home/httpd/vhosts/obraprimaguia.com.br/httpdocs/define.php:7) in /home/httpd/vhosts/obraprimaguia.com.br/httpdocs/top.php on line 65 Willian acabei de modificar o arquivo, agora a pagina login.php esta aceitando a função do top.php, porem o próprio top.php não aceita a função, ai retorna header information. Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Agosto 29, 2011 você não pode ter nenhum output (echo, saida html..) antes de enviar todos os headers. oq tem na linha 6-7 do arquivo define.php ? Compartilhar este post Link para o post Compartilhar em outros sites
magnetu 0 Denunciar post Postado Agosto 29, 2011 você não pode ter nenhum output (echo, saida html..) antes de enviar todos os headers. oq tem na linha 6-7 do arquivo define.php ? Tenho isso <?php session_start(); require_once 'Connections/conexao.php'; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> 6 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 7 <?php Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Agosto 29, 2011 isso ai é uma saida html você tem q enviar todos os headers(inclusive coisas como session_start), antes de enviar essa saída ai. Compartilhar este post Link para o post Compartilhar em outros sites