entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

Captcha muestra imagen solo la primera vez

Buenos tardes

He metido un captcha en mi página antes de enviar los datos de un formulario. ( captcha.php)
http://www.corbachotenis.com/escuela.html
http://www.corbachotenis.com/contacto.html

El problema es que la primera vez se carga la imagen, pero sólo la primera vez, las siguientes veces no se cargan las imágenes.

¿Qué creéis que pueda ser ?

Un saludo

0voto

carlossevi comentado

¿Puedes poner el código del script captcha.php? Es el que debería devolver la imagen según tu código:

<img src="captcha.php"></img>

¿Lo has hecho tu o estás utilizando algún módulo o funcionalidad creada por terceros?

0voto

gonzalss comentado

Este es el código .

Lo cogí de un ejemplo

<img src="captcha.php"><br>
<input type="text" size="12" name="captcha">

$captcha = imagecreatetruecolor(120,35);
    $color = rand(128,160);
    $background_color = imagecolorallocate($captcha, $color, $color, $color);
    imagefill($captcha, 0, 0, $background_color);

    #draw some lines
    for($i=0;$i<10;$i++){
        $color = rand(48,96);
        imageline($captcha, rand(0,130),rand(0,35), rand(0,130), rand(0,35),imagecolorallocate($captcha, $color, $color, $color));
    }

    #generate a random string of 5 characters
    $string = substr(md5(rand()*time()),0,5);

    #make string uppercase and replace "O" and "0" to avoid mistakes
    $string = strtoupper($string);
    $string = str_replace("O","B", $string);
    $string = str_replace("0","C", $string);

    #save string in session "captcha" key
    session_start();
    $_SESSION["captcha"]=$string;

    #place each character in a random position
    putenv('GDFONTPATH=' . realpath('.'));
    $font = 'arial.ttf';
    for($i=0;$i<5;$i++){
        $color = rand(0,32);
        if(file_exists($font)){
            $x=4+$i*23+rand(0,6);
            $y=rand(18,28);
            imagettftext  ($captcha, 15, rand(-25,25), $x, $y, imagecolorallocate($captcha, $color, $color, $color), $font, $string[$i]);
        }else{
            $x=5+$i*24+rand(0,6);
            $y=rand(1,18);
            imagestring($captcha, 5, $x, $y, $string[$i], imagecolorallocate($captcha, $color, $color, $color));
        }
    }

    #applies distorsion to image
    $matrix = array(array(1, 1, 1), array(1.0, 7, 1.0), array(1, 1, 1));
    imageconvolution($captcha, $matrix, 16, 32);

    #avoids catching
    header("Expires: 0");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header("Cache-Control: private",false); 

    #return the image
    header("Content-type: image/gif");
    imagejpeg($captcha);

0voto

Peter comentado

Edite tu título a una adecuado. Poner "Problema", "Ayuda", "No funciona" y nada más, no ayuda en nada a entender de que se trata la pregunta. Por favor intenta poner títulos más adecuados. :)

También converti tu respuesta en comentario, porque no es una respuesta para solucionar tu pregunta inicial.

Saludos.

0voto

carlossevi comentado

Un momento, ¿estás seguro de que ese es el código del fichero captcha.php? ¿porque aparecen las siguientes líneas al principio?

<img src="captcha.php"><br>
<input type="text" size="12" name="captcha">

0voto

gonzalss comentado

Perdon , se me ha colado esas dos líneas .

El código empieza aquí

$captcha = imagecreatetruecolor(120,35);

eso que me has dicho estaba comentado

0voto

Peter comentado

@gonzalss Volví a mover tu respuesta a comentario porque no es respuesta y volví a editar el código para que se muestre como tal.

Por favor no pongas como respuesta los comentarios que quieres contestar, esos son comentarios y si no los pones como tal y los pones como respuesta, solo tu te enteras de que hay una respuesta nueva, ya que ningún usuario es notificado.

Saludos.

0voto

carlossevi comentado

Si llamas directamente al script http://www.corbachotenis.com/captcha.php puedes ver una serie de fallos.

El código que has pegado tiene 51 líneas y tus errores están entre la 76 y la 91. ¿Podrías copiarnos el contenido completo en Pastebin o similar?

Buscando un poco por Google he encontrado un fichero que parece ser igual al tuyo pero prefiero que seas tu el que nos lo facilite en lugar de que hagamos suposiciones.

0voto

gonzalss comentado

¿ Como te hago llegar el archivo ?

0voto

Peter comentado

@gonzalss edita tu pregunta y pega el código completo.

0voto

carlossevi comentado

Puedo asegurarte que he copiado el texto que has puesto, lo he pegado en un archivo captcha.php en un servidor web y funciona sin ningún problema.

Esto unido a que como te decía anteriormente no coinciden las líneas de código de las descripciones de los errores en tu servidor con el número de líneas del contenido que has puesto aquí me hace pensar que tienes colgado en el servidor un archivo diferente.

0voto

gonzalss comentado

Tiene razon, en casi cualquier servidor el archivo captcha.php funciona bien , pero en mi servidor de produccion no
http://corbachotenis.com/captcha.php. Aquí sólo carga la primera vez, la segunda vez que quiero cargar ese archivo me da un error. Hay está el problema

0voto

carlossevi comentado

Hola @gonzalss, he vuelto a probarlo y en estos momento el mensaje de error que devuelve el servidor no es el mismo de antes, por lo que interpreto que algo has cambiado.

Sigues sin responder a qué se debía el cambio en la numeración en las líneas y si el archivo que estás utilizando es el mismo que nos pasaste.

0voto

gonzalss comentado

Subí este archivo

<?php 
    ob_start(); 
    #create image and set background color
    $captcha = imagecreatetruecolor(120,35);
    $color = rand(128,160);
    $background_color = imagecolorallocate($captcha, $color, $color, $color);
    imagefill($captcha, 0, 0, $background_color);

    #draw some lines
    for($i=0;$i<10;$i++){
        $color = rand(48,96);
        imageline($captcha, rand(0,130),rand(0,35), rand(0,130), rand(0,35),imagecolorallocate($captcha, $color, $color, $color));
    }

    #generate a random string of 5 characters
    $string = substr(md5(rand()*time()),0,5);

    #make string uppercase and replace "O" and "0" to avoid mistakes
    $string = strtoupper($string);
    $string = str_replace("O","B", $string);
    $string = str_replace("0","C", $string);

    #save string in session "captcha" key
    session_start();
    $_SESSION["captcha"]=$string;

    #place each character in a random position
    putenv('GDFONTPATH=' . realpath('.'));
    $font = 'arial.ttf';
    for($i=0;$i<5;$i++){
        $color = rand(0,32);
        if(file_exists($font)){
            $x=4+$i*23+rand(0,6);
            $y=rand(18,28);
            imagettftext  ($captcha, 15, rand(-25,25), $x, $y, imagecolorallocate($captcha, $color, $color, $color), $font, $string[$i]);
        }else{
            $x=5+$i*24+rand(0,6);
            $y=rand(1,18);
            imagestring($captcha, 5, $x, $y, $string[$i], imagecolorallocate($captcha, $color, $color, $color));
        }
    }

    #applies distorsion to image
    $matrix = array(array(1, 1, 1), array(1.0, 7, 1.0), array(1, 1, 1));
    imageconvolution($captcha, $matrix, 16, 32);

    #avoids catching
    header("Expires: 0");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header("Cache-Control: private",false); 

    #return the image
    header("Content-type: image/gif");
    imagejpeg($captcha);

    ob_end_flush(); 
?>

Eliminando los comentarios del archivo ( por si acaso)

0voto

carlossevi comentado

Después de unas cuantas pruebas creo que tienes que tener algún problema con el manejo de la sesión pero no lo acabo de encontrar. Si prueba a eliminar la cookie PHPSESSID que genera tu página (la que inicia el session_start()) el captcha se me genera de nuevo correctamente, pero sólo una vez.

Varias pruebas para ir descartando cosas:

1) Crear una archivo session.php con le siguiente contenido:

    session_start();
    $session = session_id();
    echo "Session: $session<br/>";

Probar a recargar varias veces ese archivo y ver que no falla.

2) Crear un archivo captcha2.php sólo para las pruebas eliminando cualquier referencia a la sesión:

    session_start();
    #save string in session "captcha" key
    $_SESSION["captcha"]=$string;

Comprueba que sin esas líneas la imagen se genera correctamente (aunque la imagen no te sirva de nada porque luego no la puedes comprobar xD).

3) Descarta que tengas algún caracteres o salto de línea antes de <?php y ?> al principio o final del fichero porque pueden provocar fallos en la sesión o el buffer.

Espero a que nos cuentes cómo van esas pruebas.

0voto

gonzalss comentado

Me pregunto si el problema podría estar ocurriendo por temas de configuración en el servidor, o en la empresa donde lo tengo hosteado las páginas ya que el mismo archivo, exactamente el mismo archivo funciona bien en los demás servidores .

0voto

carlossevi comentado

Yo también me lo pregunto, por eso planteo varias pruebas para ver lo que falla. No tengo la solución, pero te propongo hacer las mismas pruebas que se me ocurrirían a mi para ir descartando puntos de fallos y localizar el problema.

0voto

gonzalss comentado

Voy a hacer las pruebas y te comento. Muchísimas gracias por tu ayuda

0voto

Peter comentado

@gonzalss moví tu respuesta a comentario. :)

0voto

gonzalss comentado

Ya he subido los archivos
http://www.corbachotenis.com/session.php
y
http://www.corbachotenis.com/captcha2.php

el primero carga la primera vez la numeración pero solo lo hace una vez, te da siempre la misma numeración
el segundo no muestra nada

0voto

carlossevi comentado

El primero carga bien todas las veces (aunque muestra siempre el mismo número logicamente porque es el id de la sesión).

El segundo no muestra nada ¿seguro que has dejado todas las líneas excepto las que te he indicado? Da la impresión de que has hecho lo contrario.

0voto

gonzalss comentado

El segundo captcha pongo este código

<?php

function randomText($length) {
$pattern = "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
for($i=0;$i<$length;$i++) { $key .= $pattern{rand(0,62)}; }
return $key;
}

// PARAMETROS DE LA IMAGEN //////////////////////////////
$ancho = 100; // Ancho de la imágen
$alto = 30; // Alto de la imágen
$lineas = 6; // Cantidad de lineas de relleno
$chars = 6; // Cantidad de caracteres del captcha

// CREO EL OBJETO IMAGEN Y LOS COLORES A UTILIZAR ///////
$imagen = imagecreate($ancho,$alto);
$cLineas = imagecolorallocate($imagen,140,140,140);
$cFondo = imagecolorallocate($imagen,200,200,200);
$cTexto = imagecolorallocate($imagen,000,000,000);

// PINTO EL FONDO ///////////////////////////////////////
imagefill($imagen, 0, 0, $cFondo);

// AGREGO UNAS LINEAS DE RELLENO ////////////////////////
for($c=0; $c <= $lineas; $c++) {
$x1=rand(0,$ancho);
$y1=rand(0,$alto);
$x2=rand(0,$ancho);
$y2=rand(0,$alto);
imageline($imagen,$x1, $y1, $x2, $y2, $cLineas);
}

// GENERO EL TEXTO ALEATORIO ////////////////////////////
$_SESSION['tmptxt'] = randomText($chars);

// AGREGO EL TEXTO ALEATORIO A LA IMAGEN ////////////////
imagestring($imagen, 5, 25, 7, $_SESSION['tmptxt'], $cTexto);

// DEVUELVO LA IMAGEN GENERADA //////////////////////////
header("Content-type: image/jpeg", true);
imagejpeg($imagen);

// DESTRUYO EL OBJETO IMAGEN PARA LIBERAR MEMORIA ///////
imagedestroy($imagen);

?>

Quito algo de aqui ?

0voto

gonzalss comentado

Lo he subido aqui y ahora si que muestra el captcha

http://www.corbachotenis.com/captcha3.php

0voto

gonzalss comentado

Como te he comentado ahora la imagen del captcha se ve y se cambiar al cargar, pero el código que no funciona es el del php posterior, al que llama el formulario, el que valida que el captcha es correcto.

<?php 

session_start(); 

// Validar argumentos y captcha 
if(!$_POST) { 
  header('Location: '.$conf['url_error']); 
  exit; 
} 

if ($_SESSION['tmptxt'] != $_POST['tmptxt']) {  
  header('Location: '.$conf['url_error']);  
  exit;  
} 

// Limpiar input de usuario 
foreach($_POST as $id=>$value) { 
  $var[$id] = strip_tags(trim($value)); 
} 

// Definir cuerpo del email 
foreach($var as $id=>$value) { 
  $mailCuerpo .= "$id : $value\r\n"; 
} 

// Enviar correo 
if(mail($conf['mailDestinatario'], $conf['mailAsunto'], $mailCuerpo)) { 
  header('Location: '.$conf['url_ok']); 
} else { 
  header('Location: '.$conf['url_error']); 
} 

?>

Será por lo del session_start(); que he quitado en el captcha.php

0voto

carlossevi comentado

Hola @gonzalss, el código que has ido poniendo estos días no coincide con el que nos pones ahora, por lo que si querías es volvernos locos, conmigo lo has conseguido.

Por de pronto, en tu código de comparación veo que $_SESSION y $_POST están mal escritos (sin el guión _) aunque no sé si será el único motivo de fallo.

Por el momento me retiro ya que me veo incapaz de comunicarme claramente contigo.

0voto

gonzalss comentado

Carlos :

Salvo que haya echo un copy paste mal , es el mismo codigo que he estado poniendo estos días
Voy a verificarlo todo de nuevo

0voto

gonzalss comentado

Habia echo mal el copy paste

<?php
      session_start();
      if(strtoupper($_REQUEST["captcha"]) == $SESSION["captcha"]){
         // REMPLAZO EL CAPTCHA USADO POR UN TEXTO LARGO PARA EVITAR QUE SE VUELVA A INTENTAR
         $_SESSION["captcha"] = md5(rand()*time());

         // INSERTA EL CÓDIGO EXITOSO AQUI

         $sendTo = "[email protected]"; 
         $subject = "formulario"; 
         $nombre = $_POST["nombre"]; 
         $telefono = $_POST["telefono"]; 
         $email = $_POST["email"]; 
         $eltexto = $_POST["eltexto"]; 
         $headers .= ""; 
         $message = "\nNombre: " . $nombre . "\ntelefono: " . $telefono . "\nemail: " . $email . "\nArea Texto: " . $eltexto; 
         mail($sendTo, $subject, $message, $headers); 

        header ("Location: escuela.html");

      }else{
         // REMPLAZO EL CAPTCHA USADO POR UN TEXTO LARGO PARA EVITAR QUE SE VUELVA A INTENTAR
         $_SESSION["captcha"] = md5(rand()*time());
         // INSERTA EL CÓDIGO DE ERROR AQUÍ

         header ("Location: errorcaptcha.html");

      }
?>

0voto

Peter comentado

@gonzalss hay un botoncito para poner código. Seleccionas tu código, le das a { } y te lo pone de forma correcta. Ya edité tus comentarios para que se muestren bien.

Saludos.

0voto

gonzalss comentado

En el if else , me va siempre al else como si siempre estuviese mal el captcha.

0voto

Peter comentado

@gonzalss volví a mover tu respuesta a comentario :)

0voto

carlossevi comentado

Prueba a reemplazar

if(strtoupper($_REQUEST["captcha"]) == $SESSION["captcha"]){

por

if(strtoupper($_REQUEST["captcha"]) == $_SESSION["captcha"]){

En cuaquier caso tampoco me fio de que eso te solucione nada por el descontrol en el copy&paste de código que tienes. Tan pronto llamas a la variable de sesión $_SESSION['tmptxt'] como $_SESSION['tmptxt'] y no sé cual será la buena.

PD. Esta petición de más información que eran los comentarios se han convertido en un partido de tenis y ya no sé ni qué cuestión pasar a "respuesta".

0voto

gonzalss comentado

Espero que con este mensaje pueda poner algo mas de luz. Lo primero muchas gracias por vuestra ayuda y sobre todo por la paciencia

Tengo este captcha.php , que supuestamente funciona ya que me muestra la imagen

<?php 

function randomText($length) {  
$pattern = "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";  
for($i=0;$i<$length;$i++) { $key .= $pattern{rand(0,62)}; }  
return $key;  
}  

 session_start(); 

// PARAMETROS DE LA IMAGEN //////////////////////////////  
$ancho = 100; // Ancho de la imágen  
$alto = 30; // Alto de la imágen  
$lineas = 6; // Cantidad de lineas de relleno  
$chars = 6; // Cantidad de caracteres del captcha  

// CREO EL OBJETO IMAGEN Y LOS COLORES A UTILIZAR ///////  
$imagen = imagecreate($ancho,$alto);  
$cLineas = imagecolorallocate($imagen,140,140,140);  
$cFondo = imagecolorallocate($imagen,200,200,200);  
$cTexto = imagecolorallocate($imagen,000,000,000);  

// PINTO EL FONDO ///////////////////////////////////////  
imagefill($imagen, 0, 0, $cFondo);  

// AGREGO UNAS LINEAS DE RELLENO ////////////////////////  
for($c=0; $c <= $lineas; $c++) {  
$x1=rand(0,$ancho);  
$y1=rand(0,$alto);  
$x2=rand(0,$ancho);  
$y2=rand(0,$alto);  
imageline($imagen,$x1, $y1, $x2, $y2, $cLineas);  
}  

// GENERO EL TEXTO ALEATORIO ////////////////////////////  
$SESSION['captcha'] = randomText($chars);  

// AGREGO EL TEXTO ALEATORIO A LA IMAGEN ////////////////  
imagestring($imagen, 5, 25, 7, $SESSION['captcha'], $cTexto);  

// DEVUELVO LA IMAGEN GENERADA //////////////////////////  
header("Content-type: image/jpeg", true);  
imagejpeg($imagen);  

// DESTRUYO EL OBJETO IMAGEN PARA LIBERAR MEMORIA ///////  
imagedestroy($imagen);  

?>

El formulario llama a este php que he llamado verificación

<?php
      session_start();
      if(strtoupper($REQUEST["captcha"]) == $SESSION["captcha"]){
         // REMPLAZO EL CAPTCHA USADO POR UN TEXTO LARGO PARA EVITAR QUE SE VUELVA A INTENTAR
         $SESSION["captcha"] = md5(rand()*time());

         // INSERTA EL CÓDIGO EXITOSO AQUI

         $sendTo = "[email protected]"; 
         $subject = "formulario"; 
         $nombre = $_POST["nombre"]; 
         $telefono = $_POST["telefono"]; 
         $email = $_POST["email"]; 
         $eltexto = $_POST["eltexto"]; 
         $headers .= ""; 
         $message = "\nNombre: " . $nombre . "\ntelefono: " . $telefono . "\nemail: " . $email . "\nArea Texto: " . $eltexto; 
         mail($sendTo, $subject, $message, $headers); 

        header ("Location: escuela.html");

      }else{
         // REMPLAZO EL CAPTCHA USADO POR UN TEXTO LARGO PARA EVITAR QUE SE VUELVA A INTENTAR
         $SESSION["captcha"] = md5(rand()*time());
         // INSERTA EL CÓDIGO DE ERROR AQUÍ

         header ("Location: errorcaptcha.html");

      }
?>

Lo que ocurre es que siempre se mete en el if , por lo que si ponen cualquier texto en el campo de texto me llega el correo.

He puesto el mismo nombre a las variables de sesión tal como me has dicho

3 Respuestas

2votos

carlossevi Puntos63580

Además del error en el nombre de las globales he detectado otro error en el código de verificación:

La línea

if(strtoupper($_REQUEST["captcha"]) == $_SESSION["captcha"]){

debería ser:

if(strtoupper($_REQUEST["captcha"]) == strtoupper($_SESSION["captcha"])){

Para poder comparar, tienes que poner en mayúsculas ambos lados de la igualdad para permitir que el usuario meta las letras sin sensibilidad a las mayúsculas y minúsculas.

He montado los 3 archivos en un servidor de pruebas y me ha funcionado bien así que no debería darte más problemas.

0voto

gonzalss comentado

!!! Funciona!!!

Muchas gracias Carlos .
Y lo mas importante lo que he aprendido

0voto

carlossevi comentado

Me alegra que te sirva. Si te funciona puedes marcar la respuesta como la solución correcta, aunque no tengo claro cual es la respuesta correcta porque cada una soluciona una cosa =)

1voto

carlossevi Puntos63580

Respecto a la última versión de código que has puesto en los comentarios, el problema que es están mal llamadas las variables globales de PHP.

$REQUEST debe ser $_REQUEST
$SESSION debe ser $_SESSION

y lo mismo para todas las globales:

$_SERVER
$_REQUEST
$_POST
$_GET
$_FILES
$_ENV
$_COOKIE
$_SESSION

Para darte una explicación de lo que está pasando:

Lo que quieres que pase: generar una imagen basada en un texto aleatorio y guardar ese texto en la sesión de la conexión para en el siguiente paso se pueda comprobar si el usuario ha introducido correctamente el texto.

Lo que está pasando: en lugar de guarda el valor del texto generado en una variable de sesión (global) la estás guardando en una array que llamas $SESSION y cuyo ámbito de existencia no supera la primera ejecución, por lo que en el segundo paso ese array no existe y te resulta imposible hacer la comparación.

0voto

gonzalss comentado

Después de modificar todas las variables globales y ponerle el _ delante de cada una , en la comparación se va siempre al else ( aunque lo ponga bien) por lo que no llegan los datos del formulario.
!!Esto es una locura !!

0voto

carlossevi comentado

Aquí entran en juego 3 scripts:

  • Generador de captcha (captcha.php)
  • Formulario que muestra el captcha y recoge lo que escribe el usuario
  • Script que comprueba todo

Lo último que nos has pasado es el primer y último punto, pero no el segundo. Lo necesitamos también para comprobar todos los nombres de variables...

Además si nos pasas todas las piezas del puzzle podemos intentar reproducirlo en nuestros sistemas.

0voto

gonzalss comentado

El formulario que he puesto es el siguiente

enter code here
 <form id="formulario" action="verificacion.php" method="post">
   <label for="nombre_y_apellido"> (*) Nombre y apellido </label>
   <br />
   <input type="text" name="nombre" id="nombre" class="required" />
   <br />
   <label for="email"> (*) E-mail </label>
   <br />
   <input type="text" name="email" id="email" class="required email" />
   <br />
   <label for="telefono"> Tel&eacute;fono </label>
   <br />
   <input type="text" name="telefono" id="telefono" class="required number"  />
   <br />
   <label for="cv"> Mensaje </label>
   <br />
   <textarea rows="5" cols="50" name="cv" id="eltexto" class="required"></textarea>
   <br />
   (*) Campos requeridos
   <br />
   <br>
 <!--  incluyo el catpcha  -->

 <img src="captcha.php" width="100" height="30"> <input name="captcha" type="text"> 
 Código de seguridad (mayúsculas, minúsculas y números)<br>
 <br> 
   <input type="submit" id="enviar" value="Enviar" />

 </form>

0voto

gonzalss comentado

No se había copiado bien

 <form id="formulario" action="verificacion.php" method="post">
   <label for="nombre_y_apellido"> (*) Nombre y apellido </label>
   <br />
   <input type="text" name="nombre" id="nombre" class="required" />
   <br />
   <label for="email"> (*) E-mail </label>
   <br />
   <input type="text" name="email" id="email" class="required email" />
   <br />
   <label for="telefono"> Tel&eacute;fono </label>
   <br />
   <input type="text" name="telefono" id="telefono" class="required number"  />
   <br />
   <label for="cv"> Mensaje </label>
   <br />
   <textarea rows="5" cols="50" name="cv" id="eltexto" class="required"></textarea>
   <br />
   <img src="captcha.php" /><br/>
<input type="text" size="16" name="captcha" />
   (*) Campos requeridos
   <br />
   <input type="submit" id="enviar" value="Enviar" />

</form>

0voto

gonzalss comentado

Necesitaríais algún otro archivo ?

0voto

gonzalss Puntos3640

El error estaba en nombrar mal las variables globales y en el archivo donde hacía la comparación.
La sentencia era la que Carlos me ha puesto :

if(strtoupper($_REQUEST["captcha"]) == strtoupper($_SESSION["captcha"])){

0voto

Peter comentado

Volvía editar tu código. Al publicar el código tienes el botón { } para darle formato. Seleccionas tu código, lo aprietas y listo.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


Actividad Reciente

...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta