Ir para conteúdo

POWERED BY:

Arquivado

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

dimax

Url amigável

Recommended Posts

Gente to com esse problema faz tempo nunca conseguir resolver alguém sabe como resolve, ta aparecendo essa menssagem de erro

 

PHP Fatal error:  Function name must be a string in E:\home\site\Web\Site\index.php on line 15

 

 

Minha url amigável em web.config

 

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="exemplo 1" stopProcessing="true">
<conditions>
 <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
 <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<match url="^(.*)$" ignoreCase="true" />
<action type="Rewrite" url="/Site/index.php?url=$1" appendQueryString="true" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>

 

 

aqui esta minha index

<?php 
$restrigir = ' ' ;
?>

<?php include"header.php";?>

<?php
$url= (isset($_GET['url'])) ? $_GET('url') : '';
$explode = explode('/', $url);
$paginas = array('contato', 'parceria');

if(isset($explode[0]) && $explode[0] == ''){
include_once "home.php";

}elseif($explode[0] != '' && $explode[1] !== ''){
include_once "post.php";


}elseif($explode[0] != ''){
if(isset($explode[0]) && in_array($explode[0], $paginas)){
include_once $explode[0].".php";

}else{
include_once "categoria.php";

}
}
?>

<?php include"footer.php";?>

 

 

e aqui estar a pagina de posts

 

<?php

$id = $explode[0];
$slug = $explode[1];

$noticias = mysql_query("SELECT * FROM up_posts WHERE id = '$id' AND slug= '$slug'")

   or die(mysql_error());
if(@mysql_num_rows($noticias) <= '0'){
header('location: http://site.com.br/site/'); 
}else{




$numero = '0';

while($res_noticias=mysql_fetch_array($noticias)){

$id=  $res_noticias[0];
$thumb = $res_noticias[1];
$titulo = $res_noticias[2];
$texto = $res_noticias[3];
$data_post = $res_noticias[4];
$autor = $res_noticias[5];
$visitas = $res_noticias[6];
$jogo = $res_noticias[7];
$categoria = $res_noticias[8];
$numero++;

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

http://php.syntaxerrors.info/index.php?title=Function_name_must_be_a_string

 

 

Pesquisei seu erro e não tinha visto que tinha colocado um $ no explode

if(isset($explode[0]) && $explode[0] == ''){

 

Uma variavel não pode ter o mesmo nome que função.

 

Mude o nome de sua variavel.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

http://php.syntaxerrors.info/index.php?title=Function_name_must_be_a_string

 

 

Pesquisei seu erro e não tinha visto que tinha colocado um $ no explode

if(isset($explode[0]) && $explode[0] == ''){

 

Uma variavel não pode ter o mesmo nome que função.

 

Mude o nome de sua variavel.

 

contínua o mesmo erro não seria por causa que o nome url do web config ta o mesmo nome do get $url

cara quando mudo url para outro nome aparece so a pagina index.

você saberia outro código para url amigável

Compartilhar este post


Link para o post
Compartilhar em outros sites

contínua o mesmo erro não seria por causa que o nome url do web config ta o mesmo nome do get $url

cara quando mudo url para outro nome aparece so a pagina index.

você saberia outro código para url amigável

 

Me desculpe,

O erro não tem nada a ver com o nome da variavel, erro meu ter falado isso...

 

Você trocou os colchetes([]) pelos parênteses(())

 

$_GET('url')

 

$url= (isset($_GET['url'])) ? $_GET('url') : '';

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Me desculpe,

O erro não tem nada a ver com o nome da variavel, erro meu ter falado isso...

 

Você trocou os colchetes([]) pelos parênteses(())

 

$_GET('url')

 

$url= (isset($_GET['url'])) ? $_GET('url') : '';

cara funcionou mas não encontra a noticia pagina fica branca, você saberia o erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara funcionou mas não encontra a noticia pagina fica branca, você saberia o erro.

 

Não da nenhum erro ai não?

 

Eu também não to vendo nenhum echo ou print ai.

 

 

Eu colocaria um echo para imprimir alguma coisa em cada if para ver como estão funcionando.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não da nenhum erro ai não?

 

Eu também não to vendo nenhum echo ou print ai.

 

 

Eu colocaria um echo para imprimir alguma coisa em cada if para ver como estão funcionando.

ja coloquei pra imprimir mas nada aparece você teria outro codigo.

 

 

 

<?php

 

$id = $explode[0];

$slug = $explode[1];

 

$noticias = mysql_query("SELECT * FROM up_posts WHERE id = '$id' AND slug= '$slug'")

 

or die(mysql_error());

if(@mysql_num_rows($noticias) <= '0'){

header('location: http://site.com.br/site/');

}else{

 

 

 

 

$numero = '0';

 

while($res_noticias=mysql_fetch_array($noticias)){

 

$id= $res_noticias[0];

$thumb = $res_noticias[1];

$titulo = $res_noticias[2];

$texto = $res_noticias[3];

$data_post = $res_noticias[4];

$autor = $res_noticias[5];

$visitas = $res_noticias[6];

$jogo = $res_noticias[7];

$categoria = $res_noticias[8];

$numero++;

 

?>

 

 

 

 

<div id="single">

<h1 class="titulo_post"><?php echo $titulo;?></h1>

 

<?php echo bbcode($texto);?>

<p> </p>

 

<span class="Posta">Postado por </span> <span class="adm"><?php echo $autor;?></span> <span class="Posta"> | em <?php

setlocale(LC_ALL,"br_BR");

echo strftime("%d %b %Y", strtotime($data_post)); ?> - <?php echo substr($data_post, 11,-3);?>

 

 

 

</span><span class="Posta"> | visualização: <?php echo $visitas ;?></span>

 

<?php

include"includes/comentarios.php";?>

 

</div>

 

<?php

}

}

 

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta imprimir o sql

 

echo "SELECT * FROM up_posts WHERE id = '$id' AND slug= '$slug'" ;

e testa no phpmyadmin para ver a query.

 

Também use o print_f nos arrays (o $res_noticias e o $explode,), só para ver como o script ta funcionando e descobrir o erro.

 

Também para testar seu script você pode alterar as variaveis $id e $slug para os valores de algum registro da sua tabela.

 

Eu também não vi fechando as chaves do while, se não tiver devia dar um parse error

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.