postear resultado php en misma pagina

Temas sobre programación ( php, c, sql, html, perl, python, ruby, java, bash, etc ) y recursos ( herramientas, frameworks, hosting, cms, etc )

Moderadores: maiku, akodo

Responder
ercros
Forista Nuevo
Forista Nuevo
Mensajes: 16
Registrado: Dom Abr 14, 2013 2:47 am

postear resultado php en misma pagina

Mensaje por ercros »

Buenas...mientras aprendo y toqueteo php, me ha surgido una duda.

la intencion del codigo es introducir un numero y al darle confirmar aparezca su tabla de multiplicar, pero no se porque al cargar la pagina me aparece un error , y solo cuando le doy a confirmar funciona correctamente.
pienso que puede ser al asignarle una variable a $_POST['nombre']
Aqui teneis la imagen del error y el codigo:

imagen:
Imagen


Aqui el codigo

Código: Seleccionar todo

<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
	<?php
 function resultado() {

 
 
		if ($_POST['numero']!="") {
		
 
			$numero=$_POST['numero'];
			$y=1;
       
            echo "La tabla del numero $numero es:";
            echo "<br>";
        
            while ($y<=10){
            
                $resultado=$numero*$y ;
                echo "$numero por $y = $resultado ";
                echo "<br>";
                $y=$y+1;
            }
			
		} 
	}
    
   ?>
	

  <form method="post" action="#" onsubmit="resultado()" > 
  Eliga un numero para elegir la tabla de multiplicar:
  <input type="text" name="numero"><br>
  <input type="submit" value="confirmar" > 
  </form>
	
		
<?php
echo resultado();
   ?>
	
	
	
    </body>
</html>


Avatar de Usuario
akodo
Moderador
Moderador
Mensajes: 1457
Registrado: Mié Nov 28, 2007 8:00 am
Ubicación: En la X del explorer (pulse para llamar)

Re: postear resultado php en misma pagina

Mensaje por akodo »

Mezclar código html con php = caca. Hay soluciones más elegantes como ésta

En cuanto al problema, tienes un $_POST['numero'] al que estás accediendo siempre. Cuando cargas la página no estás enviando ninguna petición POST a la página, y por tanto dicha variable no existe.
Descargue el gestor de mp3 "Music Manager" -> ([url=http://ctrlalt.iespana.es]mmlf[/url])
Última versión del gestor "Music Manager" -> ([url=http://sourceforge.net/projects/jmusicmanager/]jmmm[/url])

ercros
Forista Nuevo
Forista Nuevo
Mensajes: 16
Registrado: Dom Abr 14, 2013 2:47 am

Re: postear resultado php en misma pagina

Mensaje por ercros »

gracias por el consejo... utilizare el de "$html = str_get_html('<html><body>Hello!</body></html>');" en un futuro jeje...

entiendo lo que dices...pero lo mas curioso esque en un dominio real, el error no aparece.

Compruebalo aqui.

Si quieres pegale tambien una ojeada al convertidor binario a decimal jajajaja HERE

gracias por la ayuda :)

Avatar de Usuario
neurus
Forista Legendario
Forista Legendario
Mensajes: 1830
Registrado: Dom Oct 10, 2004 7:00 am

Re: postear resultado php en misma pagina

Mensaje por neurus »

El código funciona.
Que te anuncie o no ese error, depende del nivel de errores que tengas configurado en php.

Si nos ponemos rigurosos, el código está mal, porque la variable numero está inicialmente vacía. Eso es lo que te está señalando el servidor. Es configurable, y yo suelo optar por deshabilitar esos errores.

Lo más simple para hacerlo bien, es escribir la función en otro archivo y llamarla desde el index.

Avatar de Usuario
akodo
Moderador
Moderador
Mensajes: 1457
Registrado: Mié Nov 28, 2007 8:00 am
Ubicación: En la X del explorer (pulse para llamar)

Re: postear resultado php en misma pagina

Mensaje por akodo »

En entornos de producción (aka tu dominio) los programas y servicios suelen ejecutarse "en modo release". Típicamente todos los símbolos de debug, trazas, y demás se eliminan para hacer que el código se ejecute más rápido, a costa de que en caso de error sea mucho más difícil corregir posibles errores.

En tu caso, apache y/o php (no sé quién es el responsable) está configurado para que no muestre errores de forma que ese error (que sigue estando ahí) queda oculto.
Por suerte para tí, el problema no lleva a más y queda oculto. Sin embargo, para que veas el problema que puede surgir debido a ese error, te aconsejo que añadas lo siguiente:

Código: Seleccionar todo

  </form>
   
      
<?php
echo resultado();
echo '<p>este es un nuevo párrafo</p>';
   ?>
   
   
   
    </body>
</html>
Como ves tan sólo añado un nuevo párrafo. Algo muy simple, que sin embargo, debido al error que tienes no va a aparecer, incluso en tu dominio.

Resumiendo: el error sigue ahí y hay que corregirlo a pesar de que no se vea
Descargue el gestor de mp3 "Music Manager" -> ([url=http://ctrlalt.iespana.es]mmlf[/url])
Última versión del gestor "Music Manager" -> ([url=http://sourceforge.net/projects/jmusicmanager/]jmmm[/url])

edison_lopez12
Forista Nuevo
Forista Nuevo
Mensajes: 2
Registrado: Mar Ene 27, 2015 8:42 pm

Re: postear resultado php en misma pagina

Mensaje por edison_lopez12 »

Tengo un problema con algo similar solo que no es un espacio de texto sino un radio button acontinuación mis dudas:

Buenas tardes, agradezco a quien me pueda colaborar con este tema, la cuestión es la siguiente:

Necesito que al seleccionar un radio button de un grupo el cual hay tres con valores diferentes cada uno (6000, 20000, 50000), y luego al hacer click en el boton enviar, me aparezca en algún sitio de la página (eso ya lo tengo claro) un texto y un botón todos diferentes dependiendo de cual radio button seleccione, tengo un codigo pero no he podido lograr que funcione, siempre me llama los tres textos diferentes al mismo tiempo. No soy muy experto en PHP por lo cual tengo lo siguiente:

Tengo un archivo Index.php y otro archivo enviar.php, en Index tengo lo siguiente:

Código: Seleccionar todo

<form name="envio" id="envio" method="post" action="#">
                        
                        
							<div><?php include( 'enviar.php' ); ?>
<div class="cantidad_pago">
                                  <input type="radio" name="pagos" value="6000" id="pago6000">
        <label id="pago6000" for="pago6000"></label>  
      
        <input type="radio" name="pagos" value="20000" id="pago20000">
        <label id="pago20000" for="pago20000"></label>
                
        <input type="radio" name="pagos" value="50000" id="pago50000">
        <label id="pago50000" for="pago50000"></label>  
                                   							</div>
							  <div class="dialog_actions">
									<input class="fleft mright10 br3 sbutton sbutton_small sbutton1" id="enviar" name="enviar" value="Enviar" type="submit">
</form>
En el archivo enviar tengo lo siguiente:

Código: Seleccionar todo

<?php 

if($_POST['enviar']){
	
$pagos = $_POST['pagos'];

$mensaje6000 .='

<div>
<p class="small mbottom10"><a>Se ha enviado la Programación exitosamente...</a></p>

<p class="small mbottom10"><a>Importante: Por favor realice el pago lo más pronto posible a traves de nuestras cuentas bancarias enviadas a través de email.</a></p>

<p class="small mbottom10"><a><form method="post" action="https://gateway.payulatam.com/ppp-web-gateway/pb.zul" accept-charset="UTF-8">
<input type="image" border="0" alt="" src="http://www.payulatam.com/img_botones_herramientas/boton_pagar_pequeno.png" onClick="this.form.urlOrigen.value = window.location.href;"/>
<input name="merchantId" type="hidden" value="501506"/>
<input name="accountId" type="hidden" value="502306"/>
<input name="description" type="hidden" value="Programación Combinada"/>
<input name="referenceCode" type="hidden" value="PC"/>
<input name="amount" type="hidden" value="6000"/>
<input name="tax" type="hidden" value="0"/>
<input name="taxReturnBase" type="hidden" value="0"/>
<input name="shipmentValue" value="0" type="hidden"/>
<input name="currency" type="hidden" value="COP"/>
<input name="lng" type="hidden" value="es"/>
<input name="sourceUrl" id="urlOrigen" value="" type="hidden"/>
<input name="buttonType" value="SIMPLE" type="hidden"/>
<input name="signature" value="8e022f4dfdf14629c3067e4a99826d803f1a44baa1c83214fb7ee906de54411b" type="hidden"/>
</form></a></p>
</div>
';

$mensaje20000 .='
<div>
<p class="small mbottom10"><a>Se ha enviado la Programación exitosamente...</a></p>

<p class="small mbottom10"><a>Importante: Por favor realice el pago lo más pronto posible a traves de nuestras cuentas bancarias enviadas a través de email.</a></p>


<p class="small mbottom10"><a><form method="post" action="https://gateway.payulatam.com/ppp-web-gateway/pb.zul" accept-charset="UTF-8">
<input type="image" border="0" alt="" src="http://www.payulatam.com/img_botones_herramientas/boton_pagar_pequeno.png" onClick="this.form.urlOrigen.value = window.location.href;"/>
<input name="merchantId" type="hidden" value="501506"/>
<input name="accountId" type="hidden" value="502306"/>
<input name="description" type="hidden" value="Programación Sencilla"/>
<input name="referenceCode" type="hidden" value="PS"/>
<input name="amount" type="hidden" value="20000"/>
<input name="tax" type="hidden" value="0"/>
<input name="taxReturnBase" type="hidden" value="0"/>
<input name="shipmentValue" value="0" type="hidden"/>
<input name="currency" type="hidden" value="COP"/>
<input name="lng" type="hidden" value="es"/>
<input name="sourceUrl" id="urlOrigen" value="" type="hidden"/>
<input name="buttonType" value="SIMPLE" type="hidden"/>
<input name="signature" value="db870a851dbd3a78658f5eceaf3801084d3b726b3c03bae2bf04704999e5d0e2" type="hidden"/>
</form></a></p></div>
';

$mensaje50000 .='
<div>
<p class="small mbottom10"><a>Se ha enviado la Programación exitosamente...</a></p>

<p class="small mbottom10"><a>Importante: Por favor realice el pago lo más pronto posible a traves de nuestras cuentas bancarias enviadas a través de email.</a></p>


<p class="small mbottom10"><a><form method="post" action="https://gateway.payulatam.com/ppp-web-gateway/pb.zul" accept-charset="UTF-8">
<input type="image" border="0" alt="" src="http://www.payulatam.com/img_botones_herramientas/boton_pagar_pequeno.png" onClick="this.form.urlOrigen.value = window.location.href;"/>
<input name="merchantId" type="hidden" value="501506"/>
<input name="accountId" type="hidden" value="502306"/>
<input name="description" type="hidden" value="Programación Doble"/>
<input name="referenceCode" type="hidden" value="PD"/>
<input name="amount" type="hidden" value="50000"/>
<input name="tax" type="hidden" value="0"/>
<input name="taxReturnBase" type="hidden" value="0"/>
<input name="shipmentValue" value="0" type="hidden"/>
<input name="currency" type="hidden" value="COP"/>
<input name="lng" type="hidden" value="es"/>
<input name="sourceUrl" id="urlOrigen" value="" type="hidden"/>
<input name="buttonType" value="SIMPLE" type="hidden"/>
<input name="signature" value="6df74813621b822b57fa8940bab8006fa1ee11c32da8449c16dce080686e243a" type="hidden"/>
</form></a></p></div>
';

     
	  if ($pagos = '6000') {
		  
		  	    
         echo "$mensaje6000";
             
      }else{
		  
		  echo " ";
		  
		  }
	  
	  
	  if ($pagos = '20000') {
      
 
              
            echo "$mensaje20000";
             
      }
	  
	  else{
		  
		  echo " ";
		  
		  }
	  
	  if ($pagos = '50000') {
      
 
              
            echo "$mensaje50000";
             
      }
	  else{
		  
		  echo " ";
		  
		  }
		  
 
}
?>
Por favor Ayuda

Avatar de Usuario
neurus
Forista Legendario
Forista Legendario
Mensajes: 1830
Registrado: Dom Oct 10, 2004 7:00 am

Re: postear resultado php en misma pagina

Mensaje por neurus »

Respuesta rápida, sin probar el código ni leerlo a fondo: usa case en lugar de if, para este caso en particular.

No veo dónde seleccionas los colores, aunque tampoco sé a qué te refieres con eso. Ni por qué no lo incluyes en el condicional. Si puedo probarlo más tarde para entender esa parte, te respondo.

Saludos.

Responder
  • Temas similares
    Respuestas
    Vistas
    Último mensaje