Comunidad de diseño web y desarrollo en internet online

Cargar tamaño imagen con un select

Citar            
MensajeEscrito el 13 May 2018 12:01 pm
Buenos días.
Tengo un pequeño problema, y es que estoy acabando de configurar que un usuario pueda introducir texto en una imagen con php, y que esta se muestre en una pestaña aparte pulsando a un botón. Esto ya lo he conseguido y funciona correctamente. Sin embargo, estoy buscando, a través de un <select>, que se pueda elegir el tamaño.

Este es el código que tengo:

Código :

<form method="get" action="aa.php">
<input type="text" name="aa" id="aa">
<select name="saa">
    <option value='230'>230</option>
    <option value='50'>50</option>
</select>
<button>Generar</button>
</form>


que va enlazado a esta página de php

Código :

<?php 
// Set the content-type
$imagen = imagecreatefrompng('imagen.png'); 

// Create the image
$black = imagecolorallocate($imagen, 0, 0, 0);  

// The text to draw
if(isset($_GET['textaa'])){
    $texto=$_GET['textaa'];
}else{
    $texto="";
}

$font = 'fuente.otf';

// Add the text
imagettftext($imagen, 48, 0, 48, 70, $black, $font, $texto);


//The width to draw
if( isset( $_POST['saa'] ) ){
    if( $_POST['saa'] == "230" ) {
        $ancho=$_POST (230);
    } elseif( $_POST['saa'] == "50" ) {
        $ancho=$_POST (50);
    } else {
        echo "nothing chosen";
    }
} 

$width = 200;
$newwidth = $width;
$newheight = $height;

imagecopyresized($nuevaimagen, $imagen, 0, 0, 0, 0, $newwidth, $newheight, $ancho, $alto);

header("Content-type: image/png"); 
imagepng($nuevaimagen); 
?>


No se por qué no funciona.
Un saludo y gracias

Por Paginadetodos

8 de clabLevel



 

chrome
Citar            
MensajeEscrito el 13 May 2018 05:59 pm
en tu formulario dice <form method="get" action="aa.php">
y usas METODO GET

y tu codigo PHP
isset( $_POST['saa'] )

osea estas esperando DATOS por Metodo POST

por lo que o BIEN cambias tu formulario a Metodo POST o tu PHP para Metodo GET

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 13 May 2018 07:32 pm
Muchas gracias;
he hecho un par de cambios que creo que pueden ser a mejor apoyándome en tu mensaje.

He quitado esto:

Código :

// The text to draw

if(isset($_GET['textaa'])){

    $texto=$_GET['textaa'];

}else{

    $texto="";

}


para añadir esto y que desde el input

Código :

if (isset ($_GET["NL0"] ) ){ $wh=explode("|", $_GET["NL0"] ); $w=$wh[0]; $h=$wh[1]; }


Además he modificado el <select> para tener esto:

Código :

<select name="NL0">
    <option value='230|70'>1:23</option>
    <option value='50|50'>1:18</option>
</select>


Con esto se supone que 230 debería ser el ancho y 70 el alto, pero sigue sin salir nada.

Por Paginadetodos

8 de clabLevel



 

chrome
Citar            
MensajeEscrito el 13 May 2018 10:15 pm
en ala primera linea del codigo php, depura y revisa que datos esta recibiendo

Código :

<?php
var_dump($_GET);die();


asi veras que datos esta recibiendo y los nombres

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 14 May 2018 09:07 am
Al poner eso en el código me sale el siguiente texto

Código :

array(1) { ["aa"]=> string(6) "230|70" }

Por Paginadetodos

8 de clabLevel



 

chrome
Citar            
MensajeEscrito el 14 May 2018 02:36 pm

Paginadetodos escribió:

Al poner eso en el código me sale el siguiente texto

Código :

array(1) { ["aa"]=> string(6) "230|70" }


var_dump($_GET);die(); como vees ahi indica que solo esta recibiendo $_GET['aa'] por lo visto no estas usando el formulario que publicaste, podria ser que estes usando un archivo antiguo, o la cache del navegador, eso suele ocurrir cuando se usa como navegador INTERNET EXPLORER, si es el caso, cambia de navegador, FIREFOX, OPERA o Chrome son mejores para depurar

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 14 May 2018 02:59 pm
He estado buscando más la solución, y he cambiado algunas cosas porque creo que me daba error al tener un poco de lío en el select, así que le he cambiado los nombres al select y al text para que tengan nombres diferentes, así que ahora es así:

Código :

<form method="get" action="aa.php">

<input type="text" name="aa" id="textaa">
<select name="ab">
    <option value='230|70'>Ej1</option>
    <option value='50|50'>Ej2</option>
</select>
<button>Generar</button>


Gracias a esto, y cambiando esta línea del fichero aa.php

Código :

if (isset ($_GET["ab"] ) ){ 
   $wh=explode("|", $_GET["ab"] );
   $w=$wh[0]; $h=$wh[1]; 
}


para que concuerde el <select name> en ambos casos, el array me ha dejado de mostrar solamente eso para empezar a mostrarme también esto:

Código :

array(2) { ["aa"]=> string(3) "www" ["ab"]=> string(6) "230|70" }


sin embargo, aún no se muestra nada, me sigue saliendo la pantalla en negro.

Por Paginadetodos

8 de clabLevel



 

chrome
Citar            
MensajeEscrito el 14 May 2018 03:00 pm
Me faltó por escribir el cierre del form

Código :

<form method="get" action="aa.php">

<input type="text" name="aa" id="textaa">
<select name="ab">
    <option value='230|70'>Ej1</option>
    <option value='50|50'>Ej2</option>
</select>
<button>Generar</button>
</form>

Por Paginadetodos

8 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.