Foros del Web » Programando para Internet » PHP »

Paginas php automaticas con nombre del valor del formulario

Estas en el tema de Paginas php automaticas con nombre del valor del formulario en el foro de PHP en Foros del Web. Buenas tardes a todos! Primero gracias por vuestro tiempo, y ahora me pongo manos a la obra. Tengo un formulario para insertar registros a la ...
  #1 (permalink)  
Antiguo 27/08/2013, 09:51
 
Fecha de Ingreso: agosto-2011
Mensajes: 45
Antigüedad: 12 años, 8 meses
Puntos: 0
Paginas php automaticas con nombre del valor del formulario

Buenas tardes a todos!

Primero gracias por vuestro tiempo, y ahora me pongo manos a la obra. Tengo un formulario para insertar registros a la BD con diferentes valores (Nombre y apellidos: // Tlf. Casa: // Movil Padre: // Movil Madre: // Email: ). Hasta aqui todo bien. Yo quiero que cuando el usuario ponga su nombre y apellidos, genere automaticamente una pagina .PHP con el valor asignado al campo "Nombre y apellidos".

He estado leyendo varios temas pero no me aclaro para obtener el valor introducido ni para la creación de la pagina con el nombre obtenido. Adjunto el formulario:
Código PHP:
<input type="text" name="Nombreyapellidos" value="" size="32" placeholder="No utilizar tildes" /></td>
    </
tr>
    <
tr valign="baseline">
      <
td nowrap="nowrap" align="right">TlfCasa:</td>
      <
td><input type="text" name="Tlf_Casa" value="" size="32" /></td>
    </
tr>
    <
tr valign="baseline">
      <
td nowrap="nowrap" align="right">Movil Padre:</td>
      <
td><input type="text" name="Movil_Padre" value="" size="32" /></td>
    </
tr>
    <
tr valign="baseline">
      <
td nowrap="nowrap" align="right">Movil Madre:</td>
      <
td><input type="text" name="Movil_Madre" value="" size="32" /></td>
    </
tr>
    <
tr valign="baseline">
      <
td nowrap="nowrap" align="right">Email:</td>
      <
td><input type="text" name="Email" value="" size="32" /></td>
    </
tr>
    <
tr valign="baseline">
      <
td nowrap="nowrap" align="right">&nbsp;</td>
      <
td><input type="submit" value="Insertar nuevo alumno" /> 
¡Muchas gracias y un saludo!

Última edición por SeRgIeTTe; 27/08/2013 a las 09:58
  #2 (permalink)  
Antiguo 27/08/2013, 11:38
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 19 años, 7 meses
Puntos: 71
Respuesta: Paginas php automaticas con nombre del valor del formulario

Por lo que entiendo de tu mensaje lo que quieres hacer es crear un fichero *.php con un texto dentro y se guarde en el servidor.
No es difícil, veo que ya insertas los valores en la base de datos, con lo que ya sabes recoger los datos del formulario con $_POST con lo que solo tienes que crear el fichero y rellenarlo con los datos que quieras, en este caso nombre y apellidos.
Mas o menos sería algo así:
Código PHP:
$fichero dirname(__FILE__) + '/pon_aqui_el_nombre_que_deseas_al_fichero.php';
$f fopen($fichero"a");
fwrite($f$nombre $apellidos);
fclose($f); 
Te recomiendo que mires la documentación si alguna de esas líneas no terminas de entenderlas o son nuevas para ti, así sabrás lo que hacen y aprenderás :)
  #3 (permalink)  
Antiguo 27/08/2013, 11:56
 
Fecha de Ingreso: agosto-2011
Mensajes: 45
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Paginas php automaticas con nombre del valor del formulario

Cita:
Iniciado por DooBie Ver Mensaje
Por lo que entiendo de tu mensaje lo que quieres hacer es crear un fichero *.php con un texto dentro y se guarde en el servidor.
No es difícil, veo que ya insertas los valores en la base de datos, con lo que ya sabes recoger los datos del formulario con $_POST con lo que solo tienes que crear el fichero y rellenarlo con los datos que quieras, en este caso nombre y apellidos.
Mas o menos sería algo así:
Código PHP:
$fichero dirname(__FILE__) + '/pon_aqui_el_nombre_que_deseas_al_fichero.php';
$f fopen($fichero"a");
fwrite($f$nombre $apellidos);
fclose($f); 
Te recomiendo que mires la documentación si alguna de esas líneas no terminas de entenderlas o son nuevas para ti, así sabrás lo que hacen y aprenderás :)
Hola DooBie! Más o menos se como funciona, lo que quiero es que el fichero se cree con el nombre que el usuario asigne al textbox "Nombre y apellidos". No se como obtener el valor plasmado por el usuario y crear el archivo .php.

Muchas gracias!
  #4 (permalink)  
Antiguo 27/08/2013, 11:59
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 19 años, 7 meses
Puntos: 71
Respuesta: Paginas php automaticas con nombre del valor del formulario

No sabes recoger los datos del formulario???????????
  #5 (permalink)  
Antiguo 27/08/2013, 12:01
Avatar de tquezada  
Fecha de Ingreso: febrero-2013
Ubicación: Santiago
Mensajes: 196
Antigüedad: 11 años, 2 meses
Puntos: 8
Respuesta: Paginas php automaticas con nombre del valor del formulario

hola que tal el nombre lo recojes del texbox name="Nombreyapellidos" lo pasas por $_post
__________________
¿Sabes cuántos programadores hacen falta para cambiar una bombilla? - no, no ¿Cuántos? - Ninguno... es un problema de hardware.
  #6 (permalink)  
Antiguo 27/08/2013, 12:39
 
Fecha de Ingreso: agosto-2011
Mensajes: 45
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Paginas php automaticas con nombre del valor del formulario

Lo facil es lo que no se hacer jejeje. No se como hacerlo...

¿Seria asi?

Código PHP:
<?php $_POST["Nombreyapellidos"]; ?>
Y si es asi, como lo aplico luego en el codigo anterior, ¿igual?
  #7 (permalink)  
Antiguo 27/08/2013, 12:42
Avatar de tquezada  
Fecha de Ingreso: febrero-2013
Ubicación: Santiago
Mensajes: 196
Antigüedad: 11 años, 2 meses
Puntos: 8
Respuesta: Paginas php automaticas con nombre del valor del formulario

Cita:
Iniciado por SeRgIeTTe Ver Mensaje
Lo facil es lo que no se hacer jejeje. No se como hacerlo...

¿Seria asi?

Código PHP:
<?php $_POST["Nombreyapellidos"]; ?>
Y si es asi, como lo aplico luego en el codigo anterior, ¿igual?
si pero debes asignarle un nombre


Código PHP:
<?php $Nombreyapellidos $_POST["Nombreyapellidos"]; ?>
y después al hacer submit el nombre va a quedar en la variable

obviamente el form debe tener metodo post
__________________
¿Sabes cuántos programadores hacen falta para cambiar una bombilla? - no, no ¿Cuántos? - Ninguno... es un problema de hardware.
  #8 (permalink)  
Antiguo 27/08/2013, 12:45
 
Fecha de Ingreso: agosto-2011
Mensajes: 45
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Paginas php automaticas con nombre del valor del formulario

Entonces, después, ¿queda algo asi?

Código PHP:
 <?php $fichero dirname(__FILE__) + ' $Nombreyapellidos.php'
$f fopen($fichero"a"); 
fwrite($f$nombre $apellidos); 
fclose($f);  ?>
  #9 (permalink)  
Antiguo 27/08/2013, 13:12
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 19 años, 7 meses
Puntos: 71
Respuesta: Paginas php automaticas con nombre del valor del formulario

En realidad sería algo así:

Código PHP:
$fichero dirname(__FILE__) . '/' $_POST["Nombreyapellidos"] . '.php'
$f fopen($fichero"a"); 
fclose($f); 
Así se creará un fichero en blanco con el nombre y apellidos que haya puesto el usuario en el formulario, pero (siempre los hay), ahí no se escapan caracteres especiales, ni espacios ni nada por el estilo, eso deberías controlarlo tu de alguna forma.

Ah... eso ponlo donde proceses el formulario claro, y como te han dicho, debe ser por método post

EDITO: Ni que decir que el directorio donde se intente crear ese fichero debe tener derechos de escritura el usuario, y si usas un servidor windows, deberás cambiar la / por otra cosa que use ese SO.
  #10 (permalink)  
Antiguo 27/08/2013, 13:22
 
Fecha de Ingreso: agosto-2011
Mensajes: 45
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Paginas php automaticas con nombre del valor del formulario

Mira DooBie, te comento. Utilizo Windows, pero el caso es que el "action" de este formulario es una inserción de registro como decia en el post inicial, asi que el "action" viene siendo el siguiente:
Código PHP:
<?php echo $editFormAction?>
Si lo pongo en la pagina de inserción de un nuevo registro, funcionara igualmente?

¡Gracias!
  #11 (permalink)  
Antiguo 27/08/2013, 13:44
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 19 años, 7 meses
Puntos: 71
Respuesta: Paginas php automaticas con nombre del valor del formulario

Ese código debes ponerlo en el fichero que se llame desde el action del formulario. Y si es un windows, deberás cambiar lo de la / que te he comentado antes, creo que en windows deberás poner \\ pero no estoy seguro.
  #12 (permalink)  
Antiguo 27/08/2013, 14:10
 
Fecha de Ingreso: agosto-2011
Mensajes: 45
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Paginas php automaticas con nombre del valor del formulario

Creo que me he explicado mal... El fichero que se llama desde el action es el anterior:
Código PHP:
<?php echo $editFormAction?>
Asi que no se como hacerlo... :/


EDITO:

Este es mi codigo actual:
Código PHP:
<?php require_once('Connections/alumnos.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function 
GetSQLValueString($theValue$theType$theDefinedValue ""$theNotDefinedValue ""
{
  if (
PHP_VERSION 6) {
    
$theValue get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  
$theValue function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch (
$theType) {
    case 
"text":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;    
    case 
"long":
    case 
"int":
      
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case 
"double":
      
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case 
"date":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;
    case 
"defined":
      
$theValue = ($theValue != "") ? $theDefinedValue $theNotDefinedValue;
      break;
  }
  return 
$theValue;
}
}

$editFormAction $_SERVER['PHP_SELF'];
if (isset(
$_SERVER['QUERY_STRING'])) {
  
$editFormAction .= "?" htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset(
$_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  
$insertSQL sprintf("INSERT INTO alumnos (Imagen, Nombreyapellidos, `Tlf. Casa`, `Movil Padre`, `Movil Madre`, Email) VALUES (%s, %s, %s, %s, %s, %s)",
                       
GetSQLValueString($_POST['Imagen'], "text"),
                       
GetSQLValueString($_POST['Nombreyapellidos'], "text"),
                       
GetSQLValueString($_POST['Tlf_Casa'], "int"),
                       
GetSQLValueString($_POST['Movil_Padre'], "int"),
                       
GetSQLValueString($_POST['Movil_Madre'], "int"),
                       
GetSQLValueString($_POST['Email'], "text"));

  
mysql_select_db($database_alumnos$alumnos);
  
$Result1 mysql_query($insertSQL$alumnos) or die(mysql_error());

  
$insertGoTo "alumnos.php";
  if (isset(
$_SERVER['QUERY_STRING'])) {
    
$insertGoTo .= (strpos($insertGoTo'?')) ? "&" "?";
    
$insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  
header(sprintf("Location: %s"$insertGoTo));
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Insertar Alumno</title>
<script src="file:///C|/Archivos%20de%20programa/Adobe/Adobe%20Dreamweaver%20CS6/es_ES/Configuration/Third%20Party%20Source%20Code/jquery-mobile/jquery-1.6.4.min.js" type="text/javascript"></script>
<script src="file:///C|/Archivos%20de%20programa/Adobe/Adobe%20Dreamweaver%20CS6/es_ES/Configuration/Third%20Party%20Source%20Code/jquery-mobile/jquery.mobile-1.0.min.js" type="text/javascript"></script>

</head>

<body>


<div data-role="header">
    <a href="javascript:history.back()">Atrás</a>
        <h1>Insertar nuevo alumno</h1>
    </div>
&nbsp;
<form action="<?php echo $editFormAction?>" method="post" name="form1" id="form1">
  <table align="center">
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">Nombre y apellidos:</td>
      <td><input type="text" name="Nombreyapellidos" value="" size="32" placeholder="No utilizar tildes" id="pagephp" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">Tlf. Casa:</td>
      <td><input type="text" name="Tlf_Casa" value="" size="32" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">Movil Padre:</td>
      <td><input type="text" name="Movil_Padre" value="" size="32" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">Movil Madre:</td>
      <td><input type="text" name="Movil_Madre" value="" size="32" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">Email:</td>
      <td><input type="text" name="Email" value="" size="32" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">&nbsp;</td>
      <td><input type="submit" value="Insertar nuevo alumno" /></td>
    </tr>
  </table>
  <input type="hidden" name="Imagen" value="Sin imagen" />
  <input type="hidden" name="MM_insert" value="form1" />
</form>


<p>&nbsp;</p>
<p>&nbsp;</p>
<div data-role="footer">
        <h4>PAGINA</h4>
    </div>
</body>
</html>

Y este codigo me funciona a la perfección, pero no consigo meterle la variable:
Código PHP:
<?php
if ($archivo fopen("asdf.php""w")){
    echo 
fwrite($archivo"Hey esto funciona...");
    
fclose($archivo);
}
?>

Última edición por SeRgIeTTe; 27/08/2013 a las 15:17
  #13 (permalink)  
Antiguo 27/08/2013, 15:35
 
Fecha de Ingreso: agosto-2011
Mensajes: 45
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Paginas php automaticas con nombre del valor del formulario

¡Esta medio solucionado!

He conseguido que funcione con lo siguiente:

Código PHP:
<?php $Nombreyapellidos $_POST["Nombreyapellidos"]; ?>

<?php
if ($archivo fopen("$Nombreyapellidos.php""w")){
    echo 
fwrite($archivo"<p>Prueba de la funcion</p>");
    
}
?>
Me crea la pagina con su respectivo nombre en el directorio "www". Lo único que me falta es que al hacer click en el link, funcione, ya que sale como "undefined" pero al refrescar la pagina funciona correctamente...

A ver si sale alguien que sepa como solucionarlo.

¡Graciaaas!

Etiquetas: formulario, nombre, registro, valor
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 00:02.