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

dmais

FCKEditor não funciona no meu computador

12 mensagens neste tópico

Bom dia!

O código que apresento em baixo é utilizado para por a funcionar o FCKeditor num servidor na internet e funciona perfeitamente.

<?php
$hostname = "localhost";
$database = "intranet";
$username = "root";
$password = "pedro";

$login = mysql_connect ( $hostname, $username, $password ) or trigger_error ( mysql_error(),E_USER_ERROR );
mysql_select_db ( $database );
?>

<script type="text/javascript" src="fckeditor.js"></script>
<script type="text/javascript">
window.onload = function()
{
var oFCKeditor = new FCKeditor( 'texto' ) ;
oFCKeditor.BasePath	= '' ;
oFCKeditor.ReplaceTextarea() ;
oFCKConfig.EditorAreaCSS = './css/estilos.css' ;
}
</script>

<a href="editor.php?tipo=site_imagens&id=1&fazer=editar" class="azul"><b>[site imagens]</b></a><br><br>
<table cellpadding="0" cellspacing="0" border="0" width="820">

			  <?
			  $verf = $_GET['listar'];
			  if ($verf != ""){
			  $listar = $_GET['listar'];

			  }else{

					$listar = $_POST['listar'];
				}
					if ($listar != ""){

		// inicio listar

				if ($listar == "site_imagens"){
					 $sql = mysql_query("SELECT * FROM site_imagens");

		?>

		 <tr>
		 <td colspan="4" align="center" valign="middle"><br><a href="editor.php?tipo=site_imagens&fazer=inserir"><b>[inserir Novo Registo]</b></a><br><br></td>
		  </tr>
		 <tr bgcolor="#B4CE07" align="center" class="branco">
		 <td></td>
			<td></td>
		  </tr>

				<?

						while($row = mysql_fetch_array($sql)) {
						$id = $row["id"];
						$site_imagens = $row["site_imagens"];

				?>

		 <tr>
		 <td height="50"><?=$site_imagens ?></td>
			<td align="center" valign="middle"></td>
		  </tr>
		 <?             

		  }
		}

		//fim listar

					}else{
					$verf1 = $_REQUEST['tipo'];
					$tipo = $_REQUEST['tipo'];
					$fazer = $_REQUEST['fazer'];
					$id = $_REQUEST['id'];
					$site_imagens = $_REQUEST['site_imagens'];

		//inicio acções

				if ($tipo == "site_imagens"){
					if ($fazer == "inserir"){
						if ($accao == "ok"){
							$sql = mysql_query("INSERT INTO `site_imagens` (`site_imagens`) VALUES ('$site_imagens');");
							echo ("<div align=center>Registo inserido com sucesso.</div>");
							}else{
		?>
						<tr>
							<td>
									<form name="form" action="editor.php" method="POST">
									<table align="center" width="100%" cellpadding="0" cellspacing="0" border="0" bordercolor="#EAEAEA">
									<input name="tipo" value="site_imagens" type="hidden" />
									<input name="fazer" value="inserir" type="hidden" />
											<input name="accao" value="ok" type="hidden" />
										<tr>
										  <td></td>
											<td> 											  </td>
									  </tr>
											<tr>
											<td></td>
											<td><textarea id="textarea" name="site_imagens" rows="35" cols="120"><?=$site_imagens ?>
											</textarea>
											<input type="submit" name="Inserir" value="Inserir" /></td>
											</tr>
									  </table>
									</form>
						  </td>
		  </tr>
								<?
								   } 
									}
								if ($fazer == "editar"){
								 if ($accao == "ok"){
									$sql = mysql_query("UPDATE site_imagens SET site_imagens = '$texto' WHERE id = '$id'");
									echo ("<div align='center' valign='bottom' class='azul'>Registo editado com sucesso.</div>"); 
									}else{
									$sql = mysql_query("SELECT * FROM site_imagens WHERE id = $id LIMIT 1");
										while($row = mysql_fetch_array($sql)) {
										$id = $row["id"];
										$site_imagens = $row["site_imagens"];
										}
								?>
								<tr>
								  <td align="center" height="20"></td>
		 		 				</tr>
								<tr>
									<td align="center" valign="middle"><div class="azul">site_imagens </div>
									<form name="form" action="editor.php" method="POST">
							<table align="top" width="810" cellpadding="0" cellspacing="0" border="0">
							<input name="tipo" value="site_imagens" type="hidden" />
							<input name="fazer" value="editar" type="hidden" />
							<input name="accao" value="ok" type="hidden" />
							<input name="id" value="<?=$id ?>" type="hidden" />
								<tr>
									<td>
                                        </td>
									<td align="center" valign="top"><textarea id="site_imagens" name="texto" rows="35" cols="120"><?=$site_imagens ?></textarea></td>
								</tr>
								<tr>
									<td></td>
									<td align="left" valign="top"><input type="submit" name="Editar" value="Editar" class="botao"/></td>
								</tr>
							</table>
				 			</form>
					</td>
				</tr>
						<?
								 }
								}
									 if ($fazer == "apagar"){
									$sql = mysql_query("DELETE FROM site_imagens WHERE id = $id LIMIT 1");
									 echo ("<div align=center>Registo apagado com sucesso.</div>");
							 }

							//fim acções
							 }}
						?>
		   </table>


Gostava de conseguir por a funcionar este código no meu computador em localhost.

Instalei o Apache versão 2.2.11 e o php versão 5.2.9-Win32.

Já testei no meu computador o Apache e o PHP utilizando um código qualquer em php,  (por exemplo o <?php phpinfo();?> ) e funciona bem no browser. Mas quando tento funcionar com o FCKeditor este não funciona e aparece no browser uma parte do código php, vizualizando-o no código-fonte do browser.

O mesmo acontece retirando o script do FCKeditor e deixando apenas as textareas. O que entendo que o problema não será do editor mas talvez de algumas configurações  do Apache ou do PHP.

Será que me podem explicar qual é o problema? Faltará alguma extensão nas configurações do meu php ou no Apache?

Obrigado! :thumbsup:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

activas-te o php nas configurações do apache?

não me lembro ao certo qual é alinha mas provavelmente é isso

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Olá infopc!

activei o php nas configurações do apache e funciona com outros scripts em php.

O problema é que com este não funciona.

Noutro Forum, do FCKeditor sugeriram substituir <? por <?php por não ter no php.ini a short_open_tag ligadas.

Já pus short_open_tag = on e inclusive substitui os <? por <?php mas quando fiz isso o resultado no browser é uma página branca.

:(

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

oi djthyrax

já troquei <? por <?php mas o resultado no browser é branco...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

error_reporting(E_ALL);

no inicio do ficheiro e diz-me o que aparece

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Olá Cyclop!

Já consigo visualizar no browser o editor!

Eu coloquei o código error_reporting (E_ALL); no início do ficheiro

e relatou vários erros como Notice: Undefined index: listar in / home / diver / public_html / dnews / admin / editor.php on line 158

(fiz a experiencia de colocar on line: error_reporting (E_ALL); também nos dois ficheiros com o código entre <? código?> e <?php código?>  e ambos reportam o mesmo erro mencionado acima )

Como eu disse antes, eu não tenho problema com este código no servidor on-line só para trabalhar no servidor local.

Fiz uma experiência de pôr on line os dois códigos diferentes, um com <? código?> e os outros com <?php código?> e apenas o <? código?> funcionou.

existe uma ligeira diferença na mudança de código no formulário quando eu altero <?= $inicio?> por <?php $inicio?> e não funciona bem. Penso que não chama a query da base de dados. No editor não aparece nenhum resultado da base de dados.

Penso que o problema seja esse.

Coloco o formulário abaixo

<?php
		}
					}
						if ($fazer == "editar"){
						 if ($accao == "ok"){
							$sql = mysql_query("UPDATE inicio SET inicio = '$texto' WHERE id = '$id'");
							echo ("<div align=center>Registo editado com sucesso.</div>");
							}else{
							$sql = mysql_query("SELECT * FROM inicio WHERE id = $id LIMIT 1");
								while($row = mysql_fetch_array($sql)) {
								$id = $row["id"];
								$inicio = $row["inicio"];
								}
		?>				<tr>
								  <td align="center" height="20"><span class="azul"></span></td>
		 		 		</tr>
						<tr>
							<td align="center" valign="middle" class="vermelho1">inicio</div>
							<form name="form" action="editor.php" method="POST">
							<table align="center" width="810"  cellpadding="0" cellspacing="0" border="0">
							<input name="tipo" value="inicio" type="hidden" />
							<input name="fazer" value="editar" type="hidden" />
							<input name="accao" value="ok" type="hidden" />
							<input name="id" value="<?php $id ?>" type="hidden" />
						<tr>
							<td></td>
							<td align="center" valign="top"><textarea id="inicio" name="texto" rows="35" cols="120"><?php $inicio ?></textarea></td>
						</tr>
						<tr>
							<td></td>
							<td align="left" valign="top"><input type="submit" name="Editar" value="Editar" class="botao" /></td>
						</tr>
		</table>
							 </form>

Obrigado!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Acho que encontrei a solução para o meu problema:

alterei

<?php $inicio?>

 

para

<?php echo $inicio; ?>

e no php.ini mudei para register_globals = on

Neste momento já consigo editar o FCKeditor no servidor local.  :(

Obrigado a todos!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Teres o register_globals ligado é má ideia.

Tava para dizer isso :(

Não é bom nem é necessário para isso correr bem.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Olá yoda.pt

se eu desligar o register_globals no editor apenas consigo visualizar a informação na base de dados mas não consigo editar... :(

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas

De qualquer das formas no teu código o uso ou não de register globals é indiferente, a variável que tem o conteúdo não é um cookie, post, get etc.

O conteúdo que vem da base de dados pode ter html? se sim pode muito bem ser isso, ter algum html que estrague a estrutura da tag textarea.

Fica Bem

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