Foros del Web » Programando para Internet » PHP »

Disintos index.php apartir de presionar un boton

Estas en el tema de Disintos index.php apartir de presionar un boton en el foro de PHP en Foros del Web. Buenas Estoy empezando con PHP, y no logro conseguir un ejemplo que me ayude en lo que quiero. Quiero que al momento de presionar un ...
  #1 (permalink)  
Antiguo 13/04/2016, 10:46
 
Fecha de Ingreso: abril-2016
Mensajes: 19
Antigüedad: 8 años
Puntos: 0
Disintos index.php apartir de presionar un boton

Buenas

Estoy empezando con PHP, y no logro conseguir un ejemplo que me ayude en lo que quiero.

Quiero que al momento de presionar un boton, este me muestre otro html distinto al index principal, pero en el mismo index.php

Código:
<input type="submit" name="registrar" align="left" value="Registrar">
	<input type="submit" name="buscar" value="Buscar">
	<input type="submit" name="actualizar" value="Actualizar cliente">
	<input type="submit" name="eliminar" value="Eliminar cliente">
Si presiono Registrar registra, si presiono buscar, que me muestre otro contenido html pero sustituyendo el html del index principal y asi sucesivamente.

Saludos
  #2 (permalink)  
Antiguo 13/04/2016, 10:50
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 5 meses
Puntos: 123
Respuesta: Disintos index.php apartir de presionar un boton

Y con que código PHP procesas el formulario o de que manera?

Puedes utilizar un switch para que en función de lo que recibas imprimir una u otra cosa
__________________
Unset($vida['malRollo']);
  #3 (permalink)  
Antiguo 13/04/2016, 11:14
 
Fecha de Ingreso: abril-2016
Mensajes: 19
Antigüedad: 8 años
Puntos: 0
Respuesta: Disintos index.php apartir de presionar un boton

Este mi index.php

Código:
<?php
require "conexion.php";
require "formularioclientes.php";


if ($_REQUEST['registrar'])
{
	$id=$_REQUEST['cedrif'];
	$name=$_REQUEST['nombre'];
	$nacionalidad=$_REQUEST['nacionalidad'];
	$direccion=$_REQUEST['direccion'];
	$mail=$_REQUEST['correo'];
	$tlf=$_REQUEST['telefono'];

	$queryregistro="insert into clientes (id_cedrif,nombre,direccion,correo,telefono,nacionalidad)
			values ('$id','$name','$direccion','$mail','$tlf','$nacionalidad');";
	$queryconsulta=mysql_query("select id_cedrif,nombre,direccion,correo,telefono,nacionalidad from clientes where id_cedrif='$id'",$con);

	if (($name!="") && ($direccion!="") && ($mail!="") && ($tlf!=""))
	{
			$array=mysql_fetch_array($queryconsulta);
		if ($nacionalidad!="0")
		{
			if ($array['id_cedrif']==$_REQUEST['cedrif'])
			{
				echo "<cente>El numero de cedula o RIF ingresado ya se encuentra registrado</center>";
			}
			else
			{
				mysql_query(($queryregistro),$con) or die ("Problema con la conexion");
				echo "<center>EL cliente fue guardado</center>";
			}
		}
		else
		{
			echo "<center>Debe seleccionar si es Venezolano (V) Extranjero (E) o Empresa (J)</center>";
		}
	}
	else
	{
		echo "<center> Debe rellenar todos los datos </center>";
	}
}

if	($_REQUEST['buscar'])
{
	/*header ('location: busquedaclientes.php');*/
	if (($_REQUEST['cedrif']!=""))
	{
		$id=$_REQUEST['cedrif'];
		$queryconsulta=mysql_query("select * from clientes where id_cedrif='$id'",$con);
		$array=mysql_fetch_array($queryconsulta);
		if ($array['nacionalidad']==1)
		{
			$n1=J;
		}
		else
			if ($array['nacionalidad']==2)
		 	{
		 		$n1=V;
		 	}
		 	else
		 	{
		 		$n1=E;
		 	}
	echo require "buscarcliente.php";
	}
	else
	{
		echo "<center>Debes colocar algun RIF o cedula</center>";
	}
}
if ($_REQUEST['actualizar'])
{
	header ('location: ');
	if (($_REQUEST['cedrif']!=""))
	{
		$id=$_REQUEST['cedrif'];
		$queryconsulta=mysql_query("select * from clientes where id_cedrif='$id'",$con);
		$array=mysql_fetch_array($queryconsulta);
	}
}
?>
</body>
</html>
Este es formularioclientes.php

Código:
<?php
/*if ($_REQUEST['buscar'])
{*/


$index=
'
<html>
<head>
<title>Registro de clientes</title>
</head>
<body>
<form action="registroclientes2.php" method="post">
<center>
<table border="2" bordercolor="#151515" bgcolor="#F7F8E0" width="600">
	<tr>
		<td width="150"><center>RIF o Cedula</center>
		</td>
		<td width="30">
		<select name="nacionalidad">
		<option value="0">---</option>
		<option value="1">J</option>
		<option value="2">V</option>
		<option value="3">E</option>
		</select>
		</td>
		<td width="393">
    	<input type="text" maxlength="9" size="5"  name="cedrif">
		</td>
	</tr>
	<tr>
    	<td><center>Razon Social</center>
		</td>
    	<td colspan="2">
    	<input type="text" size="60" name="nombre">
		</td>
	</tr>
	<tr>
    	<td><center>Direccion</center>
		</td>
    	<td  colspan="2">
    	<input type="text" size="60" name="direccion">
		</td>
	</tr>
	<tr>
    	<td><center>Correo electronico</center>
		</td>
		<td  colspan="2">
    	<input type="text" size="60" name="correo">
		</td>
	</tr>
		<tr>
    	<td><center>Telefono</center>
		</td>
		<td  colspan="2">
    	<input type="text" size="60" name="telefono">
		</td>
	</tr>
</table>
	<input type="submit" name="registrar" align="left" value="Registrar">
	<input type="submit" name="buscar" value="Buscar">
	<input type="submit" name="actualizar" value="Actualizar cliente">
	<input type="submit" name="eliminar" value="Eliminar cliente">
</form>
</body>
';
echo $index;
/*}*/
?>
Lo que quiero es que al momento de presionar buscar me muestre otro formulario y se sustituye el del index inicial.

PD: OJO recuerden estoy comenzando con PHP tengo apenas 1 semana con esto de programacion no me critiquen el codigo, funciona como lo tengo, gracias. Se que abra muchas maneras de hacerlo mejor.
  #4 (permalink)  
Antiguo 13/04/2016, 12:16
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 5 meses
Puntos: 175
Respuesta: Disintos index.php apartir de presionar un boton

La verdad no sé porqué con formularios, pero bueno.. sería algo así... puedes probar esto mismo en un archivo php, llamado index.php, ya que el action del form intentará comunicarse con él.. o lo cambias de nombre tanto al archivo como en el action del form...

Código PHP:

<form action="index.php" method="get">
    <input type="submit" name="registrar" align="left" value="Registrar">
    <input type="submit" name="buscar" value="Buscar">
    <input type="submit" name="actualizar" value="Actualizar cliente">
    <input type="submit" name="eliminar" value="Eliminar cliente">
</form>
<?php
if(isset($_GET['registrar'])){

echo 
"Imprimo un lindo codigo html."

}

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

echo 
"Imprimo otro un lindo codigo html, pero con corazoncitos <3."

}

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

echo 
"Imprimo lo que me haga mas feliz."

}

//... etc... etc... etc
?>
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #5 (permalink)  
Antiguo 13/04/2016, 13:05
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 5 meses
Puntos: 123
Respuesta: Disintos index.php apartir de presionar un boton

Como dice el compañero yo tampoco termino de entender lo de usar un formulario
Bien podrías hacerlo de una forma más simple con link

Ejemplo:
Código HTML:
Ver original
  1. <a href="index.php?cuerpo=registrar" > Registrar</a>
  2. <a href="index.php?cuerpo=buscar" > Buscar</a>
  3. <a href="index.php?cuerpo=actualizar" > Actualizar</a>
  4. Tantos link como necesites

Y en index.php harías algo así
Código PHP:
Ver original
  1. <?php
  2. $cuerpo=$_GET['cuerpo'];
  3. switch ($cuerpo) {
  4.     case "buscar":
  5.         echo "cuerpo para buscar";
  6.         break;
  7.     case "registrar":
  8.         echo "cuerpo para registrar";
  9.         break;
  10.     case "actualizar":
  11.         echo "cuerpo para actualizar";
  12.         break;
  13.     default:
  14.        echo "cuerpo si no coincide ninguna de las anteriores";
  15. }
  16. ?>


Puedes estar tranquilo aquí no estamos para reírnos del código de nadie, podemos hacer críticas constructivas para ayudar o indicar como mejorar algo, pero siempre desde el respeto.

Al fin y al cabo todos hemos sido principiantes en algún momento.

Suerte!
__________________
Unset($vida['malRollo']);
  #6 (permalink)  
Antiguo 14/04/2016, 08:54
 
Fecha de Ingreso: abril-2016
Mensajes: 19
Antigüedad: 8 años
Puntos: 0
Respuesta: Disintos index.php apartir de presionar un boton

Buenas

Gracias por la respuesta.

Pude realizar co el switch la vista de diferentes "index" en el mismo index depende de lo que haga click. Pero ahora se me presenta otra duda.

La cual es:

Si le doy registrar me muestra el echo PERRA pero no el valor de la variable $id que dado caso seria la que capturo del formulario, la cual al parecer no esta capturando. Dejo el codigo.


Código:
<?php
require "conexion.php";
/*require "formularioclientes.php";*/
$cuerpo=$_GET['cuerpo'];
switch($cuerpo)
{
	case "registrar":
		require "formularioclientes.php";
		break;
	case "buscar":
		require "busquedaclientes.php";
		break;
	default:
		echo require "formularioprincipal.php";
} // switch
if ($cuerpo='registrar')
{
	echo "PERRA";
	$id=$_REQUEST['cedrif'];
	$name=$_REQUEST['nombre'];
	$nacionalidad=$_REQUEST['nacionalidad'];
	$direccion=$_REQUEST['direccion'];
	$mail=$_REQUEST['correo'];
	$tlf=$_REQUEST['telefono'];
	echo $id;
}


Este es el fomularioclientes.php


Código:
<?php
$index=
'<html>
<head>
<title>Registro de clientes</title>
</head>
<body>
<center>
<form action="registroclientes2.php" method="post"> <- El form lo he 
quitado y colocado pero no me funciona con y sin el form
<table border="2" bordercolor="#151515" bgcolor="#F7F8E0" width="600">
	<tr>
		<td width="150"><center>RIF o Cedula</center>
		</td>
		<td width="30">
		<select name="nacionalidad">
		<option value="0">---</option>
		<option value="1">J</option>
		<option value="2">V</option>
		<option value="3">E</option>
		</select>
		</td>
		<td width="393">
    	<input type="text" maxlength="9" size="5"  name="cedrif">
		</td>
	</tr>
	<tr>
    	<td><center>Razon Social</center>
		</td>
    	<td colspan="2">
    	<input type="text" size="60" name="nombre">
		</td>
	</tr>
	<tr>
    	<td><center>Direccion</center>
		</td>
    	<td  colspan="2">
    	<input type="text" size="60" name="direccion">
		</td>
	</tr>
	<tr>
    	<td><center>Correo electronico</center>
		</td>
		<td  colspan="2">
    	<input type="text" size="60" name="correo">
		</td>
	</tr>
		<tr>
    	<td><center>Telefono</center>
		</td>
		<td  colspan="2">
    	<input type="text" size="60" name="telefono">
		</td>
	</tr>
</table>
	<a href="registroclientes2.php?cuerpo=registrar" name="registrar" >Registrar</a>
	<a href="registroclientes2.php?cuerpo=buscar" name="buscar">Buscar</a>
';
echo $index;
?>
  #7 (permalink)  
Antiguo 14/04/2016, 09:31
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 5 meses
Puntos: 123
Respuesta: Disintos index.php apartir de presionar un boton

Es que al pinchar en un link <a href...> el formulario no se envía.

Lo mejor es que separes las cosas y no intentes hacer un formulario único para todo, más si estas aprendiendo.

Lo mejor y a modo de ejemplo:
Link buscar --> lleva a formulario buscar.php --> envía a procesar_form_buscar.php
Link registrar --> lleva a formulario registrar.php --> envía a procesar_form_registrar.php
__________________
Unset($vida['malRollo']);

Etiquetas: boton, html, presionar
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 15:45.