• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

marinheiro

[resolvido] página não mostra nada...

7 mensagens neste tópico

bem, a minha questão é a seguinte:

tenho uma rotina de contacto numa das minhas páginas e, no servidor antigo, que está com php4, funciona lindamente... no novo servidor, que está com php5, se tiver o bocado de código no ficheiro, aparece, pura e simplesmente, uma página em branco... se tirar, já aparece bem, mas não envia nada para a bd... alguém me consegue identificar o porquê? gracias :D

<?php require_once('connection.php'); ?>
<?php
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $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;
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  $insertSQL = sprintf("INSERT INTO contactos (`data`, hora, nome, mail, assunto, texto) VALUES (%s, %s, %s, %s, %s, %s)",
                       GetSQLValueString($_POST['data'], "text"),
                       GetSQLValueString($_POST['hora'], "text"),
                       GetSQLValueString($_POST['nome'], "text"),
                       GetSQLValueString($_POST['mail'], "text"),
                       GetSQLValueString($_POST['assunto'], "text"),
                       GetSQLValueString($_POST['texto'], "text"));

  mysql_select_db($database, $web);
  $Result1 = mysql_query($insertSQL, $web) or die(mysql_error());

  $insertGoTo = "index.html";
  if (isset($_SERVER['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $insertGoTo));
}

mysql_select_db($database, $web);
$query_Recordset1 = "SELECT * FROM contactos";
$Recordset1 = mysql_query($query_Recordset1, $web) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
?>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Empresa onde trabalho alugamos um servidor dedicado e deu-me o mesmo problema (aquilo tem PHP5)... o problema é que tinha erros no codigo e aquilo ao encontrar erros no codigo aparecia td a branco. problema é que eu tinha o show log erros a 0... nao é esta a var mas é uma var que esta no php.ini

Nao sei se a ti se trata do mesmo mas tenta criar um ficheiro .php e coloca la apenas uma linha de codigo com erro! e testa a ver se aparece mensagens de erro.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

no ficheiro "php.ini" do Apache procuras a linha

error_reporting

e colocas

error_reporting  =  E_ALL

Desta forma, qualquer aviso ou erro será mostrado no écran...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Nao e preciso, basta no principio do codigo pores

error_reporting("E_ALL");

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não foi essa a var que alterei.

a var que eu tive de alterar foi esta:

display_errors = Off

tive de por

display_errors = On

Se vires que nao tens acesso ao php.ini experimenta assim:

ini_set("display_errors", "On");

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

não dá nada, seja usando o error_reporting("E_ALL") ou o ini_set("display_errors", "On")... continua a dar a página em branco...

passei a noite toda de volta desta bosta e não dei com o gato... já tou a deitar fumo das orelhas...

corri o phpinfo no server e o display_errors está em on...

criei um file só com echo "asdf; e não me mostra erro nenhum... já mandei um mail para os srs do alojamento a ver se resolvem a situação ou me explicam como resolver...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tas a ver colocaste um fixeiro com um erro e ele aparece-te a branco! ou seja isso é problema de error_reporting... eu alterei mesmo o ficheiro php.ini porque tenho acesso a ele, pois é mesmo questao de falares com os gajos que te fornecem o alojamento.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora