Ir para conteúdo
Fórum Script Brasil

Rastazituh

Membros
  • Total de itens

    68
  • Registro em

  • Última visita

Sobre Rastazituh

  • Data de Nascimento 06/10/1989

Contatos

  • MSN
    dex_inda_house@hotmail.com
  • Website URL
    http://www.nimbus.com.pt
  • ICQ
    0

Perfil

  • Location
    Portugal

Rastazituh's Achievements

0

Reputação

  1. Boas pessoal ! É o seguinte, tou com uma dúvida e gostaria que fosse esclarecida. É o seguinte: estou a usar uma típica estrutura de controle para utilizar uma Query String: if (file_exists("$id.php")) { include $_GET['id'] . ".php"; } if (file_exists("$id.htm")) { include $_GET['id'] . ".htm"; } Este código está colocado num index.php e todo os links obedecem à estrutura '?id=nome'. Contudo, no próprio index.php eu quero que seja incluída uma página que tem um determinado texto, mas que quando clickar num link do menu esse texto seja substituído pelo código da página linkada. Assim, o index.php terá um include de uma página mas também terá essa estrutura acima colocada, para que quando clickar em, por exemplo, Etapas (a href="?id=etapas"), o texto dessa página seja substituído pelo texto dessa nova página. Fiz-me entender ? Bem, eu tentei utilizar um else e também um elseif, mas mesmo assim não funciona. Eu quero que no index.php faça o include ("textindex.php") mas que também tenha o código acima colocado para chamar as páginas quando necessário através do menu. Grato pela atenção. UPDATE Pessoal, percebi que afinal o meu raciocínio estava correcto mas a minha sintaxe não estava. Agora já funciona através do seguinte código: if (file_exists("$id.php")) { include $_GET['id'] . ".php"; } elseif (file_exists("$id.htm")) { include $_GET['id'] . ".htm"; } else include ("textindex.php"); Obrigado pela atenção e desculpem o incómodo.
  2. Alguém pode-me ajudar ? Eu sei que se ainda não responderam é porque ainda não puderam, mas como o tópico tem estado pendurado desde ontem.. Bom, aguardo respostas.. Obrigado..
  3. Editei grande parte do meu código: por favor, vejam este, o outro estava com erros. <?php // Conexão com a Base de Dados require "comum.php"; // Pesquisa o nome do tema no qual a categoria será inserida $pesquisa = "SELECT * FROM temas WHERE id = '$id'"; $query = mysql_query($pesquisa); $linha = mysql_fetch_array($query); // Especificar os campos $tema = $linha['nome_tema_tabela']; // Pesquisa o nome da categoria no qual o conteúdo será inserido $pesquisa2 = "SELECT * FROM categorias$tema WHERE id_categoria = '$id_categoria'"; $query2 = mysql_query($pesquisa2); $linha2 = mysql_fetch_array($query2); // Especificar os campos $categoria = $linha2['nome_categoria_tabela']; // Insere o conteúdo na tabela correcta $data = date("Y-m-d"); $sql = "INSERT INTO titulos$categoria (id_categoria, nome_titulo, subtitulo, autor, data, conteudo, link) VALUES ('$id_categoria', '$nome_conteudo', 'off', '" . $_SESSION["nome_utilizador"] . "', '$data', '$conteudo', '$link')"; $sql2 = mysql_query($sql) or die ("<font size=\"1\" face=\"Verdana\" color=\"#000033\">Novo conteúdo adicionado à Base de Dados.</font>"); // Cria o ficheiro $filename = "$link.php"; $handle = fopen("data/$filename","x"); fclose($handle); // Define as constantes $categoria_pre_constant = $categoria; $id_pre_constant = $id_titulo; define("Categoria_Constant", "$categoria_pre_constant"); define("ID_Constant", "$id_pre_constant"); // Define o contéudo a ser inserido $conteudo_final = "<?php // Conexão à Base de Dados require 'comum.php'; // Pesquisa o ID do conteúdo que será pesquisado $pesquisa_conteudo = 'SELECT * FROM titulos$categoria_constant_final WHERE id_titulo = '$id_constant_final''; $query_conteudo = mysql_query($pesquisa_conteudo); $linha_conteudo = mysql_fetch_array($query_conteudo); // Especificar os campos $titulo_conteudo_especificado = $linha_conteudo['nome_titulo']; $conteudo_especificado = $linha_conteudo['conteudo']; // Head da página echo '<html>'; echo '<head>'; echo '<title>$titulo_conteudo_especificado</title>'; echo '<link rel='stylesheet' type='text/css' href='http://www.nimbus.com.pt/conteudos/dataStyles.css'>'; echo '</head>'; echo '<body>'; // Cria a tabela echo '<table width='500' border='0' cellspacing='2' cellpadding='0'>'; echo '<tr>'; echo '<td><font class='titulo'>$titulo_conteudo_especificado</font></td>'; echo '</tr>'; echo '<tr>'; echo '<td><font class='conteudo'>$conteudo_especificado</font></td>'; echo '</tr>'; echo '<tr>'; echo '<td></td>'; echo '</tr>'; echo '</table>'; // Fecha a página echo '</body>'; echo '</html>'; ?>"; // Define o caminho do ficheiro $filename2 = "data/$filename"; // Adiciona o conteúdo if (is_writable($filename2)) { if (!handle2 = fopen("$filename2","a"){ print "<font size=\"1\" face=\"Verdana\" color=\"#000033\">Erro ao abrir o ficheiro ($filename2).</font>"; exit; } if (!fwrite($handle2,$conteudo_final)) { print "<font size=\"1\" face=\"Verdana\" color=\"#000033\">Erro ao modificar o ficheiro ($filename2).</font>"; exit; } print "<font size=\"1\" face=\"Verdana\" color=\"#000033\">Sucesso! Modificação no ficheiro ($filename2) concluída.</font>"; fclose($handle2); } else { print "<font size=\"1\" face=\"Verdana\" color=\"#000033\">O ficheiro $filename2 não pode ser modificado.</font>"; } // Mensagem de sucesso echo "<font size=\"2\" face=\"Verdana\" color=\"#000033\"><strong>Sucesso!</strong></font>"; echo "<BR>"; echo "<font size=\"1\" face=\"Verdana\" color=\"#000033\">Novo conteúdo adicionado à Base de Dados.</font>"; echo "<BR>"; echo "<a href=\"index2.php\"><font size=\"1\" face=\"Verdana\" color=\"#000033\">>> Regressar ao Sistema de Conteúdos Nimbus</font></a>"; ?> Agurado resposta..
  4. Alguém ? Desculpem a insistência, mas continuo a procurar e nada
  5. Oi novamente pessoal ! Bem, estudei as funções que me indicaram (fopen, fwrite e fclose) e também o funcionamento de Constantes PHP (para fixar valores de determinadas variáveis). O meu script está quase pronto; contudo, não sei como utilizar as constantes enquanto variáveis (será que isso é sequer possível ?).. Bem, vou colocar grande parte do meu script, porque para perceberem a minha dúvida talvez possam necessitar de perceber de onde vêm determinadas variáveis. Não se esqueçam que os dados vêm de um formulário (de campos $nome_conteudo, $link e $conteudo), e que a action="pagina.php?id=$id&id_categoria=$id_categoria&id_titulo=$id_titulo". <?php // Conexão com a Base de Dados require "comum.php"; // Pesquisa o nome do tema no qual a categoria será inserida $pesquisa = "SELECT * FROM temas WHERE id = '$id'"; $query = mysql_query($pesquisa); $linha = mysql_fetch_array($query); // Especificar os campos $tema = $linha['nome_tema_tabela']; // Pesquisa o nome da categoria no qual o conteúdo será inserido $pesquisa2 = "SELECT * FROM categorias$tema WHERE id_categoria = '$id_categoria'"; $query2 = mysql_query($pesquisa2); $linha2 = mysql_fetch_array($query2); // Especificar os campos $categoria = $linha2['nome_categoria_tabela']; // Insere o conteúdo na tabela correcta $data = date("Y-m-d"); $sql = "INSERT INTO titulos$categoria (id_categoria, nome_titulo, subtitulo, autor, data, conteudo, link) VALUES ('$id_categoria', '$nome_conteudo', 'off', '" . $_SESSION["nome_utilizador"] . "', '$data', '$conteudo', '$link')"; $resultado = mysql_query($sql); // Cria o ficheiro $filename = "$link.php"; $handle = fopen("data/$filename","x"); fclose($handle); // Define as constantes define("categoria_constant", "$categoria"); define("id_constant", "$id_titulo"); // Define o contéudo a ser inserido $conteudo_final = "<?php // Conexão à Base de Dados require "comum.php"; // Pesquisa o ID do conteúdo que será pesquisado $pesquisa = "SELECT * FROM titulos[categoria_constant] WHERE id_titulo = '[id_constant]'"; $query = mysql_query($pesquisa); $linha = mysql_fetch_array($query); // Especificar os campos $titulo_conteudo = $linha['nome_titulo']; $conteudo = $linha['conteudo']; ?>"; // Define o caminho do ficheiro $filename2 = "data/$filename"; // Adiciona o conteúdo if (is_writable($filename2)) { if (!handle2 = fopen("$filename2","a"){ print "<font size=\"1\" face=\"Verdana\" color=\"#000033\">Erro ao abrir o ficheuro ($filename2).</font>"; exit; } if (!fwrite($handle2,$conteudo_final)) { print "<font size=\"1\" face=\"Verdana\" color=\"#000033\">Erro ao modificar o ficheiro ($filename2).</font>"; exit; } print "<font size=\"1\" face=\"Verdana\" color=\"#000033\">Sucesso! Modificação no ficheiro ($filename2) concluída.</font>"; fclose($handle2); } else { print "<font size=\"1\" face=\"Verdana\" color=\"#000033\">O ficheiro $filename2 não pode ser modificado.</font>"; } ?> Bem, vejam as seguintes linhas (variável $conteudo_final): // Pesquisa o ID do conteúdo que será pesquisado $pesquisa = "SELECT * FROM titulos[categoria_constant] WHERE id_titulo = '[id_constant]'"; $query = mysql_query($pesquisa); $linha = mysql_fetch_array($query); Claro que não colocarei o nome das constantes ente []'s, era só para indicar o nome das constantes que quero aí utilizar. Mas é precisamente aí que reside a minha dúvida: como devo colocar o nome da constante que quero utilizar aí ? Por exemplo, se fosse uma variável colocaria $categoria_constant. Será que tenho de utilizar ${categoria_constant} ? Bem, esta é a minha dúvida: como devo definir ali o nome da constante em questão. Não encontrei nada no manual do PHP, por isso vim cá perguntar. Obrigado. Editado: Ah ! E também já reparei que na variável $conteudo_final deve ter todas as aspas que pertençam ao código a inserir (ou seja, excepto a primeira e a última), trocadas por plicas ('): // Define o contéudo a ser inserido $conteudo_final = "<?php // Conexão à Base de Dados require 'comum.php'; // Pesquisa o ID do conteúdo que será pesquisado $pesquisa = 'SELECT * FROM titulos[categoria_constant] WHERE id_titulo = '[id_constant]''; $query = mysql_query($pesquisa); $linha = mysql_fetch_array($query); // Especificar os campos $titulo_conteudo = $linha['nome_titulo']; $conteudo = $linha['conteudo']; ?>";
  6. O MySQL serve para listar as coisas e para proporcionar uma maior facilidade na edição dos conteúdos - depois da página criada, já sabe em que linha de que tabela deve ir buscar a informação (que, novamente, serão variáveis trocadas pelos seus valores reais) e cada evz que actualizar a BD estará actualizando o conteúdo.
  7. Bem, é um Sistema de Gestão de Conteúdos. Eu não sei se é a melhor solução, mas vou explicar o porquê de eu querer isto assim: Quando na página do próprio site, no menu, tiver os SELECTs feitos para as diferentes categorias, títulos e possíveis subtítulos, a cada conteúdo deve estar associada uma página. E porquê ? A página com o menu terá também outra área, onde estarão os conteúdos em que clickarmos. Estes serão apresentados através de includes, ou seja: Menu: <a href='?id=pagina1'>Página 1</a> Área de conteúdos: <?php if (file_exists("$id.php")) { include $_GET['id'] . ".php"; } ?> --------------> Quando 'Página 1' for premido, abrirá nesse local a página que corresponde. Por isso, a cada conteúdo deve corresponder uma página. Entenderam ?
  8. Hum.. Tinham-me falado que bastava includes, mas não vejo mesmo como.. vocês têm razão, vou ler cuidadosamente o teor dessas funções e depois se tiver dúvidas posto aqui. Muito obrigado pessoal !
  9. Pessoal, já tenho isto melhor esquematizado. É assim: formulário > premir botão Submit > corre o script: <?php // Conexão com a Base de Dados require "comum.php"; // Pesquisa o nome do tema no qual a categoria será inserida $pesquisa = "SELECT * FROM temas WHERE id = '$id'"; $query = mysql_query($pesquisa); $linha = mysql_fetch_array($query); // Especificar os campos $tema = $linha['nome_tema_tabela']; // Pesquisa o nome da categoria no qual o conteúdo será inserido $pesquisa2 = "SELECT * FROM categorias$tema WHERE id_categoria = '$id_categoria'"; $query2 = mysql_query($pesquisa2); $linha2 = mysql_fetch_array($query2); // Especificar os campos $categoria = $linha2['nome_categoria_tabela']; // Insere o conteúdo na tabela correcta $data = date("Y-m-d"); $sql = "INSERT INTO titulos$categoria (id_categoria, nome_titulo, subtitulo, autor, data, conteudo, link) VALUES ('$id_categoria', '$nome_conteudo', 'off', '" . $_SESSION["nome_utilizador"] . "', '$data', '$conteudo', '$link')"; $resultado = mysql_query($sql); // Pesquisa o nome da categoria no qual o conteúdo será inserido $pesquisa3 = "SELECT * FROM titulos$categoria WHERE nome_titulo= '$nome_titulo'"; $query3 = mysql_query($pesquisa3); $linha3 = mysql_fetch_array($query3); // Especificar os campos $id_titulo = $linha3['id_titulo']; echo "<font size=\"2\" face=\"Verdana\" color=\"#000033\"><strong>Sucesso!</strong></font>"; echo "<BR>"; echo "<font size=\"1\" face=\"Verdana\" color=\"#000033\">Novo conteúdo adicionado à Base de Dados.</font>"; echo "<BR>"; echo "<a href=\"index2.php\"><font size=\"1\" face=\"Verdana\" color=\"#000033\">>> Regressar ao Sistema de Conteúdos Nimbus</font></a>"; ?> Agora, antes da mensagem de sucesso eu quero criar uma nova página. O nome dessa nova página é dado pelo input '$link' do formulário e deve ser feita consoante o seguinte modelo: <?php // Conexão à Base de Dados require "comum.php"; // Pesquisa o ID do conteúdo que será pesquisado $pesquisa = "SELECT * FROM titulos$categoria WHERE id_titulo = '$id_titulo'"; $query = mysql_query($pesquisa); $linha = mysql_fetch_array($query); // Especificar os campos $titulo_conteudo = $linha['nome_titulo']; $conteudo = $linha['conteudo']; // Head da página echo "<html>"; echo "<head>"; echo "<title>$titulo_conteudo</title>"; echo "<link rel='stylesheet' type='text/css' href='dataStyles.css'>"; echo "</head>"; echo "<body>"; // Cria a tabela echo "<table width='500' border='0' cellspacing='2' cellpadding='0'>"; echo "<tr>"; echo "<td><font class='titulo'>$titulo_conteudo</font></td>"; echo "</tr>"; echo "<tr>"; echo "<td><font class='conteudo'>$conteudo</font></td>"; echo "</tr>"; echo "<tr>"; echo "<td></td>"; echo "</tr>"; echo "</table>"; // Fecha a página echo "</body>"; echo "</html>"; ?> Várias páginas serão criadas, certo ? Então, a única diferença (relativamente a este último código) serão as variáveis $categoria e $id_titulo. A partir do momento em que a página PHP é criada, as variáveis $categoria e $id_titulo serão trocadas pelos valores que lhe correspondem. Aqui vão as questões: como fixar essas variáveis (ou seja, fazer que após a criação da página as variáveis sejam trocadas pelos valores que lhe são correspondentes que vêm do primeiro script que postei) e de que forma devo criar esta nova página e definir o seu nome (que será passado pelo campo $link do formulário) ? Obrigado.
  10. Oi pessoal ! Bem, acho melhor dar outro exemplo. Acho que desta vez vão compreender. Fórum phpBB: ao criar um novo tópico, os dados são inseridos automaticamente na BD e é também criada uma página, que inclui um header geral para todas as páginas e é baseada no novo template, ou melhor, as características são adaptadas ao novo template, certo ? Post, Adiciona dados na BD, cria nova página. A única diferença entre o que quero e o phpBB é que o phpBB vai criar uma página com um número automático. No meu caso, sou eu que estipulo o nome da página no próprio formulário. Era também uma boa ideia criar páginas por números, mas tou em dúvida de como isso funciona, porque os dados (neste caso, conteúdos) serão colocados em diferentes tabelas MySQL consoante o tema e categoria. Mas se desse, ainda melhor ! Fui pesquisar nos arquivos do meu fórum phpBB e encontrei no ficheiro posting.php isto: // // Include page header // include($phpbb_root_path . 'includes/page_header.'.$phpEx); $template->set_filenames(array( 'body' => 'posting_body.tpl', 'pollbody' => 'posting_poll_body.tpl', 'reviewbody' => 'posting_topic_review.tpl') ); make_jumpbox('viewforum.'.$phpEx); $template->assign_vars(array( 'FORUM_NAME' => $forum_name, 'L_POST_A' => $page_title, 'L_POST_SUBJECT' => $lang['Post_subject'], 'U_VIEW_FORUM' => append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id")) ); Eu penso que seja isso, porque primeiro inclui um header e depois adiciona a página consoante determinados dados. Eu só não percebo é como é que esse script funciona.. Alguém pode, por favor, me explicar ? Orbigado desde já.
  11. Hoje fiquei a saber que para criar páginas dinamicamente basta usar includes. Mas de que forma é que as includes podem criar novas páginas ?
  12. É exactamente isso, só que, em vez de existir apenas uma página padrão, cada Submit vai criar uma nova página associada à nova linha inserida na tabela MySQL. Eu não sei é o script de criar essa página ! Obrigado.
  13. Pessoal, encontrei um HTML Editor TextArea em Javascript, mas não sei se é bom.. O que acham ? The Code Project Bem, ele não serve para mim porque não tem todas as opções de que preciso, mas pode ser bom para alguns de vós, inclusive para o Ricardo Cobain que andava à procura de alguns editores para construir o seu próprio, segundo o que li no outro tópico.. Bem, continuo a aguardar respostas às minhas dúvidas sobre as quebras de linha e imagens. Obrigado. ----UPDATE---- Encontrei um novo JS que, ao premir Enter, adiciona uma <br>, mas é um pouco estranho. Vejam: function insert_br(text) { var normalized_Enters = text.replace(/\r|\n/g, "\r\n"); var text_with_br = normalized_Enters.replace(/\r\n/g, "<br />"); return text_with_br; }
  14. Algo assim, sim. A pessoa digita os dados num formulário que serão enviados para a BD MySQL e que serão utilizados para criar uma nova página dinamicamente, cujos componentes (título da página, nome da página, etc) serão colocados pelos campos do formulário.
×
×
  • Criar Novo...