Foros del Web » Programando para Internet » PHP »

ayuda urgente

Estas en el tema de ayuda urgente en el foro de PHP en Foros del Web. me podrian decir como paso unas variables captadas en un formulario a una pagina de php que hace la insercion de las mismas a la ...
  #1 (permalink)  
Antiguo 06/07/2005, 14:15
 
Fecha de Ingreso: mayo-2003
Mensajes: 54
Antigüedad: 14 años, 7 meses
Puntos: 0
Pregunta ayuda urgente

me podrian decir como paso unas variables captadas en un formulario a una pagina de php que hace la insercion de las mismas a la BD, esto es lo que estoy haciendo y no se si voy en buen camino.
<?
$dsn="ols";
$username="tabla";
$password="tabla";
$sqlconnect=odbc_connect($dsn,$username,$password) ;
$process = odbc_exec($sqlconnect,"select * from prueba");
$sql="insert into prueba (nombre,edad,estatura,telefono) values('$nombre','$edad','$estatura','$telefono')" ;
$rs=odbc_exec($sqlconnect,$sql);
if ($rs)
{ $msg = "registro insertado well done <br>";}
else { $msg = "nada paso";}
odbc_close($sqlconnect);
?>
  #2 (permalink)  
Antiguo 06/07/2005, 14:34
 
Fecha de Ingreso: enero-2004
Ubicación: Salto
Mensajes: 484
Antigüedad: 13 años, 11 meses
Puntos: 2
Debes de tener en cuenta q para tomar las variables q pasan por post, se usa $_POST['nombre'], $_POST['apellido'], etc.
Para recibir las variables q pasan por la url (midestino.php?accion=true), se utiliza $_GET[], por ej. $_GET['accion'].
Si tienes configurado en el php.ini variables globales = on, no sería necesario q hagas uso de $_POST, ni lo demás, pero esto es un problema de seguridad. Lo mejor es acostumbrarse a trabajar con variables globales off y usar las funciones q PHP otorgar para relizar esto
Saludos cuidate
__________________
Dios dira que esto no es justo, pero lo sera...
  #3 (permalink)  
Antiguo 07/07/2005, 08:40
 
Fecha de Ingreso: mayo-2003
Mensajes: 54
Antigüedad: 14 años, 7 meses
Puntos: 0
Pregunta consulta urgente

Gracias sebtev por ayudarme, estoy muy agradecida contigo. Pero quisiera hacer otra consulta urgente, resulta que tengo una pagina que llama a otras, una es un formulario y otra despliega los resultados. el codigo es asi:
<?
include "_include/cal-functions.php"; //pagina de funciones
if ((validar(array($dia, $fecha, $año,$trab,$tiempo,$lugar))) && ($salario != 0)) // aqui se valida que las variables tengan contenido
{include resultados.php";}
else
{ include "datos.php";}//las variables $dia, $fecha, $año,$trab,$tiempo,$lugar y $salario son usadas aqui
?>
yo se que la programacion parece errada pero en ese tiempo tenia php4 y no mandaba error, ahora que migre a php5 manda variable indefinida para dia, fecha, año,trab,tiempo,lugar y salario. cual seria la mejor manera de cambiar el codigo para que funcione sin tener que variar mucho la logica en las paginas, especialmente en la principal que hace el llamado a las otras dos.
Porfavor una ayuda urgente....
  #4 (permalink)  
Antiguo 07/07/2005, 14:31
 
Fecha de Ingreso: enero-2004
Ubicación: Salto
Mensajes: 484
Antigüedad: 13 años, 11 meses
Puntos: 2
En realidad es muy seguro q hayas tenido php4 con register_globals = On, porq por lo visto, no tenías necesidad de definir las variables, es decir cualquier variable funcionaba en cualquier lugar.
Prueba incluir esto dentro de cal-functions.php, así qda un poco más ordenado
Código PHP:
<?
<?php
foreach($_POST as $nombre_campo => $valor){$asignacion "\$".$nombre_campo."='".addslashes($valor)."';";
    eval(
$asignacion);}
foreach(
$_GET as $nombre_campo => $valor){$asignacion "\$".$nombre_campo."='".$valor."';";
    eval(
$asignacion);}
foreach(
$_FILES as $nombre_campo => $valor){$asignacion "\$".$nombre_campo."='".$valor."';";
    eval(
$asignacion);}
?>
?>
Este script se encarga de tomar todos los datos q vienen, ya sea por POST, GET o FILE, cuando tienes un formulario en cual el usuario sube archivos.
Saludos cuidate
__________________
Dios dira que esto no es justo, pero lo sera...
  #5 (permalink)  
Antiguo 08/07/2005, 14:14
 
Fecha de Ingreso: mayo-2003
Mensajes: 54
Antigüedad: 14 años, 7 meses
Puntos: 0
bueno estos es lo que por ahora me funciona pero quisiera saber como podría hacer que la pagina de datos-formulario al ser llenada desaparesca y solo se presenten los resultados en pantalla. Porfavor ayudenme.
<?
include "cal-functions.php";//pagina de funciones
$declaro e inicializo todas las variables usadas en datos con 0
include "datos.php";
foreach ($_POST as $key => $value)
{
$$key = $value;
echo " esto: $$key \n";
}
if ((validar(array($dia, $fecha, $año,$trab,$tiempo,$lugar))) && ($salario != 0)) // aqui se valida que las variables tengan contenido
{ include "results.php";}
else
{"datos.php";
}

?>
  #6 (permalink)  
Antiguo 09/07/2005, 14:26
 
Fecha de Ingreso: noviembre-2003
Ubicación: México
Mensajes: 72
Antigüedad: 14 años, 1 mes
Puntos: 0
Prueba con isset

Puedes crear un script donde se autollame a la misma pagina.

Es decir utilizar un bucle IF para condicionar el codigo y la funcion ISSET

Ej.

<?php

If (!isset($_POST['nombre']) {
// No existe un dato en el array $_POST, entonces lanzo el form.
Echo "
<form action='misma_pagina.php' method='post'>
Nombre:
<input type='text' name='nombre'>
Direccion:
<input type='text' name='direccion'>
<input type='submit' value='Enviar'>
</form>
";
} else {
// Ya existe un dato en $_POST, entonces los muestro.
$nombre = $_POST['nombre'];
$direccion = $_POST['direccion'];

Echo "Nombre: $nombre <br>
Direccion: $direccion <p>";
}

?>

Espero te sirva. Salu2 desde México.
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 05:12.