Foros del Web » Programando para Internet » PHP »

Problemas con formulario bbcode y php

Estas en el tema de Problemas con formulario bbcode y php en el foro de PHP en Foros del Web. Hola a todos, os esplico: Hace un tiempo me puse a intentar aprender php, y para ello empecé a hacer una web con panel de ...
  #1 (permalink)  
Antiguo 19/08/2011, 11:39
 
Fecha de Ingreso: agosto-2011
Ubicación: Sevilla
Mensajes: 18
Antigüedad: 12 años, 8 meses
Puntos: 0
Problemas con formulario bbcode y php

Hola a todos, os esplico:
Hace un tiempo me puse a intentar aprender php, y para ello empecé a hacer una web con panel de administración. pero el formulario del panel es de texto plano por lo que subir cualquier texto es bastante tedioso por el tema de que tengo que poner todas la etiquetas de atributos a mano. Por este motivo decidí poner un formulario como el de este foro con sus botones en negrita, subrayado etc.etc.

Buscando encontré este de [URL="http://www.disegnocentell.com.ar/notas2.php?id=131"]aquí[/URL]que me pareció muy interesante, por lo que me decidí a trabajar sobre el.

Sustituí el antiguo formulario de texto plano por este, os pongo los archivos que he llamado add.php (formulario) y added.php (php para subirlo a la web):

Cita:

ADD.PHP
<?php include('../bbcode/bbcode.php'); ?>
<?php
session_start();
if($_SESSION[access]!=TRUE){
header("location: ../phpmbjm/form_admi.php");
exit;
}
else
{
echo "
<!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>
<meta name='robots' content='noindex,nofollow,noarchive,noodp,nosnippe t'>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
<title>Museo Betico Javier Maldonado</title>
<script src='../bbcode/bbcode.js'></script>
<style type='text/css'>
<!--
.Estilo1 {
font-family: Verdana, Arial;
font-weight: bold;
}
-->
</style>
</head>
<body onload=\"init('texto');\">
<form id='FormName' action='added.php' method='post' name='FormName' enctype='multipart/form-data'>
<table width='450' border='0' cellspacing='2' cellpadding='0'>
<tr>
<td width = '150'><div align='right'><label for='fecha'>fecha</label></div></td>
<td><input id='fecha' name='fecha' type='text' size='60' value='' maxlength='255'></td>
</tr>
<tr>
<td width = '150'><div align='right'><label for='texto'>texto</label></div></td>
<td><textarea id='texto' name='texto' rows='4' cols='40'></textarea></td>
</tr>
<tr>
<td width = '150'><div align='right'><label for='imagen'>imagen(introducir nombre.extension)</label></div></td>
<td><input id='imagen' name='imagen' type='text' size='60' value='' maxlength='255'></td>
</tr>
<tr>
<td width='150'></td>
<td><input name='foto' type='file' size='46'><br></td>
</tr>
<tr>
<td width='150'></td>
<td><div align='center'><br><input type='submit' name='submitButtonName' value='Aceptar'></div></td>
</tr>
</table>
</form>
</body>
</html>";
}
?>


ADDED.PHP
<?php include('../bbcode/bbcode.php'); ?>
<?php
session_start();
if($_SESSION[access]!=TRUE){
header("location: ../phpmbjm/form_admi.php");
exit;
}
else
{
echo "
<!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>
<meta name='robots' content='noindex,nofollow,noarchive,noodp,nosnippe t'>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
<title>Museo Betico Javier Maldonado</title>
<style type='text/css'>
<!--
.Estilo1 {font-family: Verdana, Arial}
-->
</style>
</head>

<body>
<h2 align='center'><a href='index.php' class='Estilo1'>Volver al listado </a></h2>
<div align='center'><br/>";

include("connect.php");

$archivo_nombre= $_FILES['foto']['name'];
$archivo_peso= $_FILES['foto']['size'];
$archivo_tipo= $_FILES['foto']['type'];
$archivo_temporal= $_FILES['foto']['tmp_name'];
$fecha = $_POST['fecha'];
$texto = bbcode($_POST['texto']);
$imagen = $_POST['imagen'];

$query = "INSERT INTO llavpenias (id, fecha, texto, imagen)
VALUES ('', '$fecha', '$texto', '$imagen')";
$results = mysql_query($query);

$copiado=move_uploaded_file($archivo_temporal, $archivo_nombre);


if ($results)
{
if($copiado==false){
print "Error imagen";
}

echo "<br>Añadido Correctamente";
}
mysql_close();
}
?>

</div>
</body>
</html>
Hasta aquí salvo un problema que ya comentaré todo funciona correctamente. El problema que tengo por culpa de mi escaso conocimiento de PHP viene con los archivos que creé para la modificación de los textos e imagenes que subía.
Para modificar los textos subidos a la web creé los archivos update.php (otro formulario) y updated.php (php para subirlo):

Cita:
UPDATE.PHP
<?php include('../bbcode/bbcode.php'); ?>
<?php
session_start();
if($_SESSION[access]!=TRUE){
header("location: ../phpmbjm/form_admi.php");
exit;
}
else
{
echo "
<!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>
<meta name='robots' content='noindex,nofollow,noarchive,noodp,nosnippe t'>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
<title>Museo Betico Javier Maldonado</title>
<script src='../bbcode/bbcode.js'></script>
<style type='text/css'>
<!--
.Estilo1 {
font-family: Verdana, Arial;
font-weight: bold;
}
-->
</style>
</head>
<body onload=\"init('texto');\">
<div align='center'>";

include('connect.php');
$ID = $_GET['ID'];

$qProfile = "SELECT * FROM llavpenias WHERE ID='$ID' ";
$rsProfile = mysql_query($qProfile);
$row = mysql_fetch_array($rsProfile);
extract($row);
$fecha = stripslashes($fecha);
$texto = stripslashes($texto);
$imagen = stripslashes($imagen);

mysql_close();

echo "
</div>
<form id='FormName' action='updated.php' method='post' name='FormName' enctype='multipart/form-data'>
<table width='450' border='0' cellspacing='2' cellpadding='0'>
<tr>
<td width = '150'><div align='right'><label for='fecha'>fecha</label></div></td>
<td><input id='fecha' name='fecha' type='text' size='60' value='$fecha' maxlength='255'></td>
</tr>
<tr>
<td width = '150'><div align='right'><label for='texto'>texto</label></div></td>
<td><textarea id='texto' name='texto' rows='4' cols='40'>$texto</textarea></td>
</tr>
<tr>
<td width = '150'><div align='right'><label for='imagen'>imagen(introducir nombre.extension)</label></div></td>
<td><input id='imagen' name='imagen' type='text' size='60' value='$imagen' maxlength='255'></td>
</tr>
<tr>
<td width='150'></td>
</tr>
<tr>
<td width='150'></td>
<td><div align='center'><br><input type='submit' name='submitButtonName' value='Aceptar'></div></td>
</tr>
</table>
</form>
<div align='center' class='Estilo1'><a href='index.php'>Volver sin modificar nada</a></div>
</body>
</html>";
}
?>


UPDATED.PHP
<?php include('../bbcode/bbcode.php'); ?>
<?php
session_start();
if($_SESSION[access]!=TRUE){
header("location: ../phpmbjm/form_admi.php");
exit;
}
else
{
echo "
<!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>
<meta name='robots' content='noindex,nofollow,noarchive,noodp,nosnippe t'>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
<title>Museo Betico Javier Maldonado</title>
</head>

<body>
<h2 align='center'><a href='index.php' class='Estilo1'>Volver al listado </a></h2>
<div align='center'><br/>";

include("connect.php");

$ID = $_POST['ID'];
$fecha = $_POST['fecha'];
$texto = $_POST['texto'];
$imagen = $_POST['imagen'];

$update = "UPDATE llavpenias SET fecha = '$fecha', texto = '$texto', imagen = '$imagen' WHERE ID='$ID' ";
$rsUpdate = mysql_query($update);
if ($rsUpdate)
{
echo "Subido Correctamente";
} mysql_close();
}
?>
</body>
</html>
No consigo modificar nada, por lo que creo que el problema está en que tengo que modificar algo en el código que he puesto en negrita más arriba, pero no sé lo que es.

Otro problema secundario es que este formulario no reconoce caracteres especiales, eñes, acentos etc. etc.

Si alguien me pudiese orientar le estaría muy agradecido.
un saludo y gracias
  #2 (permalink)  
Antiguo 19/08/2011, 17:47
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Problemas con formulario bbcode y php

juanzanper, a un lado de donde esta el boton para crear la cita, hay un combo (dropdown menu, menu desplegable, select o como le quieras llamar) que dice "Highlight", si haces click en el y seleccionas PHP para pegar ahi tu codigo, quedara mas legible y sera mas facil tratar de ayudarte.

Lo de las eñes y letras acentuadas es porque seguramente no estas definiendo un juego de caracteres o estas combinando UTF con ISO en archivos, base de datos y/o etiqueta meta. Te recomiendo esta busqueda.

Ahora, si este sistema de BBCode lo estas usando para cosas como comentarios, mensajes en foros, etc., va muy bien, pero si lo que necesitas es editar paginas de tu sitio, entonces te recomiendo una herramienta mas adecuada como CKEditor, TinyMCE o similar. Para eso, te recomiendo esta otra busqueda.

Disculpa si no trato de ayudarte a solucionar el problema (por ahora)... mis ojos ya no funcionan igual que antes.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 19/08/2011, 19:23
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Problemas con formulario bbcode y php

Agrega esto a todos tus mysql_query para descartar errores:

Código PHP:
Ver original
  1. mysql_query($update) or die(mysql_error());
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #4 (permalink)  
Antiguo 20/08/2011, 10:48
 
Fecha de Ingreso: agosto-2011
Ubicación: Sevilla
Mensajes: 18
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Problemas con formulario bbcode y php

Cita:
Iniciado por Triby Ver Mensaje
juanzanper, a un lado de donde esta el boton para crear la cita, hay un combo (dropdown menu, menu desplegable, select o como le quieras llamar) que dice "Highlight", si haces click en el y seleccionas PHP para pegar ahi tu codigo, quedara mas legible y sera mas facil tratar de ayudarte.

Lo de las eñes y letras acentuadas es porque seguramente no estas definiendo un juego de caracteres o estas combinando UTF con ISO en archivos, base de datos y/o etiqueta meta. Te recomiendo [URL="http://www.google.com.mx/search?hl=es&biw=1680&bih=893&q=site%3Aforosdelweb .com+charset&btnG=Buscar&oq=site%3Aforosdelweb.com +charset&aq=f&aqi=&aql=&gs_sm=s&gs_upl=0l0l0l2496l 0l0l0l0l0l0l0l0ll0l0"]esta busqueda[/URL].

Ahora, si este sistema de BBCode lo estas usando para cosas como comentarios, mensajes en foros, etc., va muy bien, pero si lo que necesitas es editar paginas de tu sitio, entonces te recomiendo una herramienta mas adecuada como CKEditor, TinyMCE o similar. Para eso, te recomiendo [URL="http://www.google.com.mx/search?hl=es&biw=1680&bih=893&q=site%3Aforosdelweb .com+javascript+texto+enriquecido&btnG=Buscar&oq=s ite%3Aforosdelweb.com+javascript+texto+enriquecido &aq=f&aqi=&aql=&gs_sm=s&gs_upl=0l0l0l7016l0l0l0l0l 0l0l0l0ll0l0"]esta otra busqueda[/URL].

Disculpa si no trato de ayudarte a solucionar el problema (por ahora)... mis ojos ya no funcionan igual que antes.
Gracias por la sugerencia, me pondré en ello.


Cita:
Agrega esto a todos tus mysql_query para descartar errores:

Código PHP:

Ver originalCopiar

mysql_query($update) or die(mysql_error());

Comprobaré lo que me dices. Un saludo

Etiquetas: bbcode, html, imagenes, mysql, formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:24.