Foros del Web » Programando para Internet » PHP »

Cakephp sistema de comentarios con validacion datos

Estas en el tema de sistema de comentarios con validacion datos en el foro de PHP en Foros del Web. Hola tengo un problema que es el siguiente tengo el formulario de comentarios y va bien pero me falla una cosa que es que si ...
  #1 (permalink)  
Antiguo 19/09/2011, 05:48
(Desactivado)
 
Fecha de Ingreso: septiembre-2011
Mensajes: 283
Antigüedad: 12 años, 7 meses
Puntos: 10
sistema de comentarios con validacion datos

Hola tengo un problema que es el siguiente tengo el formulario de comentarios y va bien pero me falla una cosa que es que si no meto datos tambien se envia, y nose donde tengo que poner el codigo ni como se que es isset o algo parecido pero no se muy bien como va. Si me podeís hechar una mano estaría muy agradecido. dejo los archivos aki:
Comentar.php
Código PHP:
 <tr>
 <
td>Nombre:</td>
 <
td><input type="text" name="nombre" /></td>
 </
tr>
 <
tr>
 <
td>E-mail</td>
 <
td><input type="text" name="email" /></td>
 </
tr>
 <
tr>
 <
td>Comentraio:</td>
 <
td><textarea name="comentario"></textarea></td>
 </
tr>
 <
tr>
 <
td><input type="submit" name="accion" value="Comentar"></td>
 <
td><input name="id" type="hidden" id="id" /></td>
 </
tr>
 </
table></form
insercomentario.php
Código PHP:

<?php

 $bdconex 
= @mysql_connect("localhost""root""");
 if (!
$bdconex) {
 echo ( 
"<h1>La base de datos no está disponible</h1> " .
 
"<p>Por si acaso, comprueba que tienes bien los datos de la dirección, el nombre de usuario y la contraseña.</p>" );
 exit();
 }else {
 echo (
""); 
}
 if (! @
mysql_select_db("iu"$bdconex)){
 
echo 
"<h2 align='center'>ERROR3: Imposible localizar la base de datos en este momento</h2>";
 
exit();
 }else {
 echo 
"Base de datos seleccionada";
 }
 
$sql =" INSERT INTO comentarios ( id, nombre , email , comentario, fecha ) VALUES ( NULL, '".$_POST['nombre']."' , '".$_POST['email']."' , '".$_POST['comentario']."',CURDATE() )";  

if(
mysql_query($sql$bdconex)){
 echo (
"<p> Gracias por tu comentario, será redirigido automaticamente a la pagina de comentarios.</p>");
 }else{
 echo (
"Error al insertar los datos: " mysql_error() . "</p>");
 }
 
?>
conect.inc
Código PHP:
<?php 
 
$bdconex 
= @mysql_connect("localhost""root"""); 
if (!
$bdconex) { 
echo( 
"<h1>La base de datos no está disponible</h1> " 
"<p>Por si acaso, comprueba que tienes bien los datos de la dirección, el nombre de usuario y la contraseña.</p>" ); 
exit(); 
}
 if (! @
mysql_select_db("iu"$bdconex)){
 echo 
"<h2 align='center'>ERROR3: Imposible localizar la base de datos en este momento</h2>";
 exit();
 }
 
?> 
<?php
 
$resultado 
= @mysql_query("SELECT * FROM comentarios order by fecha desc, id desc");
 if (!
$resultado) {
 echo (
"<p> Me temo que te has colado en la query:" mysql_error() . "</p>");
 exit();
 }
 while (
$fila mysql_fetch_array($resultado)) {
 
echo (
"<strong>Nombre: </STRONG>" $fila['nombre'] . "<br />");
 echo (
"<strong>Comentario:</strong>" $fila['comentario'] . "<br />");
echo (
"<strong>Fecha: </STRONG>" $fila['fecha'] . "<br/><br/>");
 
?>
 
<?php ?>
Estos son todos Gracias de antemano.
  #2 (permalink)  
Antiguo 19/09/2011, 06:07
Avatar de fbedia88  
Fecha de Ingreso: enero-2011
Ubicación: Santander
Mensajes: 83
Antigüedad: 13 años, 4 meses
Puntos: 20
Respuesta: sistema de comentarios con validacion datos

En el insertacomentario.php puedes hacer al principio algo asi:

Código PHP:
Ver original
  1. $usuario= $_POST['nombre'];
luego por ejemplo;

$
Código PHP:
Ver original
  1. longitud_usuario = strlen($usuario);
  2. if (($longitud_usuario < 50) && ($longitud_usuario > 4)) {
  3. //seria un usuario valido....
  4. } else {
  5. //no seria valido...
  6. }

Tambien podrias recorrerlo para ver caracteres que no admitas...

Código PHP:
Ver original
  1. for ($i=0; $i<=$longitud_usuario;$i++) {
  2.                 $caracter = $usuario{$i};
  3.        
  4.                 if (($caracter == "*") || ($caracter == ";") || ($caracter == "=") || ($caracter == "<") || ($caracter == "&")|| ($caracter == "@") || ($caracter == "&") || ($caracter == "$")) {
  5.                     $errores = "Introdujo caracteres no admitidos en el usuario";
  6.  
  7.                 }
  8.             }

Espero que te ayude...

Saludos
__________________
URGENTE! Alguien me puede ayudar con este tema??
http://www.forosdelweb.com/f57/tarea...rontab-924947/
  #3 (permalink)  
Antiguo 19/09/2011, 06:35
(Desactivado)
 
Fecha de Ingreso: septiembre-2011
Mensajes: 283
Antigüedad: 12 años, 7 meses
Puntos: 10
Respuesta: sistema de comentarios con validacion datos

Cita:
Iniciado por fbedia88 Ver Mensaje
En el insertacomentario.php puedes hacer al principio algo asi:

Código PHP:
Ver original
  1. $usuario= $_POST['nombre'];
luego por ejemplo;

$
Código PHP:
Ver original
  1. longitud_usuario = strlen($usuario);
  2. if (($longitud_usuario < 50) && ($longitud_usuario > 4)) {
  3. //seria un usuario valido....
  4. } else {
  5. //no seria valido...
  6. }

Tambien podrias recorrerlo para ver caracteres que no admitas...

Código PHP:
Ver original
  1. for ($i=0; $i<=$longitud_usuario;$i++) {
  2.                 $caracter = $usuario{$i};
  3.        
  4.                 if (($caracter == "*") || ($caracter == ";") || ($caracter == "=") || ($caracter == "<") || ($caracter == "&")|| ($caracter == "@") || ($caracter == "&") || ($caracter == "$")) {
  5.                     $errores = "Introdujo caracteres no admitidos en el usuario";
  6.  
  7.                 }
  8.             }

Espero que te ayude...

Saludos
Como se pone todo de seguido al principio del php eq no tngo ni idea de como se ace. Por cierto es sin registro el sistema de comentarios. Gracias.
  #4 (permalink)  
Antiguo 19/09/2011, 07:36
(Desactivado)
 
Fecha de Ingreso: septiembre-2011
Mensajes: 283
Antigüedad: 12 años, 7 meses
Puntos: 10
Respuesta: sistema de comentarios con validacion datos

Lo e probado e dejado el archivo asi:
Código PHP:
<?php
$nombre
$_POST['nombre'];
$longitud_nombre strlen($nombre);
if ((
$longitud_nombre 50) && ($longitud_nombre 4)) {
//seria un usuario valido....
} else {
//no seria valido...
}
for (
$i=0$i<=$longitud_nombre;$i++) {
                
$caracter $nombre{$i};
        
                if ((
$caracter == "*") || ($caracter == ";") || ($caracter == "=") || ($caracter == "<") || ($caracter == "&")|| ($caracter == "@") || ($caracter == "&") || ($caracter == "$")) {
                    
$errores "Introdujo caracteres no admitidos en el usuario";
 
                }
            }




 
$bdconex = @mysql_connect("localhost""root""");
 if (!
$bdconex) {
 echo ( 
"<h1>La base de datos no está disponible</h1> " .
 
"<p>Por si acaso, comprueba que tienes bien los datos de la dirección, el nombre de usuario y la contraseña.</p>" );
 exit();
 }else {
 echo (
""); 
}
 if (! @
mysql_select_db("iu"$bdconex)){
 
echo 
"<h2 align='center'>ERROR3: Imposible localizar la base de datos en este momento</h2>";
 
exit();
 }else {
 echo 
"Base de datos seleccionada";
 }
 
$sql =" INSERT INTO comentarios ( id, nombre , email , comentario, fecha ) VALUES ( NULL, '".$_POST['nombre']."' , '".$_POST['email']."' , '".$_POST['comentario']."',CURDATE() )";  

if(
mysql_query($sql$bdconex)){
 echo (
"<p> Gracias por tu comentario, será redirigido automaticamente a la pagina de comentarios.</p>");
 }else{
 echo (
"Error al insertar los datos: " mysql_error() . "</p>");
 }
 
?>
Y me sale este error: Notice: Uninitialized string offset: 0 in C:\wamp\www\insercomentario.php on line 15.

que ago mal? otra cosa para que no se guarden en la base de datos el codigo insert iria donde pone sería usuario valido? y para los demás campos de texto habría que repetir lo mismo??
Muchas gracias.

Etiquetas: cakephp, comentarios, mysql, sistema, sql, usuarios
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 16:32.