Ver Mensaje Individual
  #3 (permalink)  
Antiguo 19/05/2014, 13:44
Avatar de bocelo
bocelo
 
Fecha de Ingreso: mayo-2014
Mensajes: 3
Antigüedad: 9 años, 10 meses
Puntos: 0
Respuesta: Sistema de Comentarios con Captcha

Gracias por contestar, estube buscado uno, lo dejo a continuación:
la duda es como hago para que verifique, ya que lo agrego y tanto si lo pongo erroneamente como bien me lo agrega, la unica manera en el que no funciona es cuando no escribo nada que me solicita meter el dato.

Si hacen el fabor me pasan el codigo que funcione por que he estado peleando dias y ni idea. Fijo que es una tonteria pero no doy mas de mi.
Gracias

Captcha.php
Código PHP:
<?php 
    session_start
();

    
/* genero un string largo, y como parametro 
     * le paso la fecha actual con microsegundos (microtime).
     * luego con substr lo acorto a seis caracteres
     */
    
$ranStr substrsha1microtime() ),0,6); 

    
//Guardo el valor del captcha en una variable de sesion
    
$_SESSION['captcha'] = $ranStr

    
/*
     * creo la imagen con php...
     * fondo_captcha.jpg debe ser una imagen existente 
     */
    
$newImage imagecreatefromjpeg"fondo_captcha.jpg" ); 


    
// la funcion imagecolorallocate ( $imagen , rojo , verde , azul ) genera un color 
    
$txtColor imagecolorallocate($newImage00200); 

    
/*
     * que luego lo usamos para colorear el string
     * bool imagestring ( resource $image , int $font , int $x , int $y , string $string , int $color )
     */
    
imagestring($newImage5308$ranStr$txtColor); 

    
//indico la cabecera
    
header"Content-type: image/jpeg" );

    
//creo la imagen
    
imagejpeg($newImage); 
?>
index.php

Código HTML:
Ver original
  1. <?php
  2.     session_start();
  3.     //esta variable contiene el resultado de la comparacion
  4.     $resultado ='';
  5.    
  6.     //si se ingreso un codigo...
  7.     if(isset($_POST['codigo'])):
  8.         //y este es igual a la variable de sesion con el valor correcto
  9.         if($_POST['codigo'] == $_SESSION['captcha']):
  10.             //muestro un mensaje de exito
  11.             $resultado = "Valido!!";
  12.         else:
  13.             $resultado = "Invalido!!";
  14.         endif;
  15.     endif;
  16. ?>
  17.  
  18.     <head>
  19.         <title>mi comentario</title>
  20.        
  21.         <style type='text/css'>
  22.             table tr td{
  23.                 border:0px solid black;
  24.                 text-align: center;
  25.             }
  26.         </style>
  27.     </head>
  28.    
  29.     <body>
  30.         <form method="post" action="comentar.php">
  31.         Nombre:
  32.         <input type="text" value="" name="name" /> <br />
  33.         Escribe tu comentario: <br/>
  34.         <textarea name="comentario" rows="4" cols="50"> </textarea>
  35.         <table>
  36.                 <tr>
  37.                     <td><input type="text" name="codigo" required></td>
  38.                     <!-- notese que la fuente de la imagen se crea en captcha.php -->
  39.                     <td><img src="captcha.php"/></td>
  40.                 </tr>
  41.                 <!-- se muestra si los datos ingresados fueron correctos -->
  42.                 <tr><td colspan="2" id="resultado"><?php echo $resultado; ?></td>
  43.                 <td><input type="submit" value="Publicar"></td></tr>
  44.             </table>
  45.         </form>
  46.         <?php include("com.html"); ?>
  47.        
  48.     </body>
  49. </html>