Foros del Web » Programando para Internet » PHP »

Verificar si se envio formulario

Estas en el tema de Verificar si se envio formulario en el foro de PHP en Foros del Web. Buenas, como andan! Espero que bien, asi pueden ayudarme con este pequeño inconveniente que tengo... La cuestion es la siguiente: necesito verificar si se enviaron ...
  #1 (permalink)  
Antiguo 27/11/2008, 21:31
 
Fecha de Ingreso: septiembre-2008
Ubicación: Nuñez, Capital Federal
Mensajes: 423
Antigüedad: 15 años, 7 meses
Puntos: 1
Verificar si se envio formulario

Buenas, como andan! Espero que bien, asi pueden ayudarme con este pequeño inconveniente que tengo...

La cuestion es la siguiente: necesito verificar si se enviaron datos de un formulario para que, en dicho caso, se realize un insert en una tabla de mi BD... esto es necesario porque, si bien uno es redirigido a esa pagina luego de ingresar el formulario (es el action del mismo) uno puede tipear la URL y le ingresa datos en blanco... se entiende?

lo que encontre navegando es el siguiente codigo, el cual aplique a mi necesidad:

Código PHP:
$postback = isset($_POST['postback']) ? true false// si se enviaron datos del formulario, realiza el INSERT //
    
    
if ($postback) {


$nombre$_POST['nombre'];
$link$_POST['link'];

$insert01 "INSERT INTO enlaces (Nombre, Enlace ) VALUES ('$nombre', '$link')";
mysql_select_db($database_proyecto$final);
$Result1 mysql_query($insert01$final) or die(mysql_error());

    }; 
Ahora... funciona en el sentido de que no realiza el insert si no se mandaron datos.... pero no funciona en el sentido de que.. si mando datos.. no realiza el insert! entonces no me sirve de nada el codigo...

alguien sabe de alguna otra forma de comprobar si se realizo el envio de datos a traves de un formulario, o en que me puedo estar equivocando en este metodo???

muchas gracias a todos los que puedan colaborar.. un saludo grande!

pablo.
  #2 (permalink)  
Antiguo 27/11/2008, 21:37
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Verificar si se envio formulario

mira, ese problema se solventa si usas un name en el submit de tu formulario...

eso es lo ideal... así, ya no usas postback sino el name de tu submit, como debe de ser ...

o bien, agrega un hidden con el name de postback (que es el que pide) en tu formulario

y de paso aprendes a aprovechar por completo el HTML y el PHP, y no crear "ayudantes" mágicos ... jeje

así es como funciona, suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 27/11/2008, 21:39
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Verificar si se envio formulario

O usa $_SERVER['REQUEST_METHOD'] para determinar el tipo de request del script, y si es POST, procedes a guardar:

Código PHP:
if($_SERVER['REQUEST_METHOD'] == 'POST') {
    
// guardas

Saludos,

Última edición por okram; 27/11/2008 a las 21:39 Razón: $_SERVER['REQUEST_METHOD'] devuelve el método en mayúsculas
  #4 (permalink)  
Antiguo 27/11/2008, 22:00
 
Fecha de Ingreso: septiembre-2008
Ubicación: Nuñez, Capital Federal
Mensajes: 423
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: Verificar si se envio formulario

muchas gracias por las respuestas....

les comento que, estupido yo, el codigo que habia encontrado venia con formulario y con la pagina para procesarlo. Yo solo copie el codigo de la pagina que recibia los datos... y me olvide de copiar el codigo del formulario, cuyo boton enviar se llamaba... postback! jajajaj

O sea.. que luego de casi 3 horas de ver en que me equivocaba, di con el problema... y lo tenia al alcanze de la mano! problema de principiante supongo... jajaj

mcuhas gracias a todos, un saludo!

pablo
  #5 (permalink)  
Antiguo 28/11/2008, 09:06
 
Fecha de Ingreso: septiembre-2008
Ubicación: Nuñez, Capital Federal
Mensajes: 423
Antigüedad: 15 años, 7 meses
Puntos: 1
Exclamación Respuesta: Verificar si se envio formulario

Buenas... siguiendo con este tema de verificar si se envio el formulario, estaba tratando de hacer esto: si se envio el formulario, ademas de hacer el insert, mostrar un texto. En caso contrario, otro. Y este es el codigo que hice:

Código PHP:
<? if ($postback) { echo 'Link: <a href="<? echo $link ; ?>"><? echo $nombre ; ?></a>' ; } else { echo '<a href="ingresar.php">Dire</a>' ; } ; ?>
Es decir: si se realiza el insert (el formulario es para enviar nombres de sitios webs con sus respectivos links), mostrar el nombre ($nombre) con el hipervinculo correspondiente ($link).

Solo funciona cuando no se realza el insert, es decir, me muestra el texto Dire y su hipervinculo. Pero si realizo el insert, me aparece en blanco. Alguien sabe por qué puede ser? Muchas gracias a todos! Un saludo!

Pablo.
  #6 (permalink)  
Antiguo 28/11/2008, 10:54
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Verificar si se envio formulario

si... no se deben meter bloques <?php ?> en cadenas... si lo haces, simplemente no se evalúan...

procura hacerlo como debe ser, concatenando las variables... suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 28/11/2008, 17:58
 
Fecha de Ingreso: septiembre-2008
Ubicación: Nuñez, Capital Federal
Mensajes: 423
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: Verificar si se envio formulario

y... perdon la ignorancia, pero.. como es la forma correcta de hacerla??... soy nuevo en esto... mil disculpas, algo de concatenacion se, pero no se a que te refieres con hacerlo "de la forma correcta"...

muchas gracias, espero que me puedas explicar!!! pablo
  #8 (permalink)  
Antiguo 28/11/2008, 18:26
Avatar de DarkRing  
Fecha de Ingreso: marzo-2008
Mensajes: 95
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Verificar si se envio formulario

si quieres meter una variable dentro de un echo creo que debes hacer lo siguiente:

Código:
echo "text". $variable. "texto"
  #9 (permalink)  
Antiguo 28/11/2008, 19:57
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Verificar si se envio formulario

si.... es muy simple

Código PHP:
$bar= '-';

echo "foo<?php echo $bar?>candyBaar"; // INCORRECTO
echo "foo{$bar}candyBaar"; // CORRECTO
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #10 (permalink)  
Antiguo 29/11/2008, 10:01
 
Fecha de Ingreso: septiembre-2008
Ubicación: Nuñez, Capital Federal
Mensajes: 423
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: Verificar si se envio formulario

o sea, que esto:

Código PHP:
echo 'Link: <a href="($link)">($nombre)</a>' 
me tendria que imprimir el link que yo ingrese con el formulario?? bueno, pero algo debo estar haciendo mal... pues me imprime

$Nombre, con el vinculo a $link... es decir, no cambia por el valor de la variable.. que estoy haciendo mal? intente cambiar las comillas, pero como estan las comillas del href, no me las toma las doble.... alguien sabe que puede ser?

gracias!!

pablo.
  #11 (permalink)  
Antiguo 29/11/2008, 10:06
 
Fecha de Ingreso: septiembre-2008
Ubicación: Lanzarote, Canarias
Mensajes: 486
Antigüedad: 15 años, 7 meses
Puntos: 41
Respuesta: Verificar si se envio formulario

si usas comillas simples '' tienes k poner

Código:
echo '<a href="'.$vinculo.'">'.$nombre.'</a>';
por ejemplo...
  #12 (permalink)  
Antiguo 29/11/2008, 10:16
 
Fecha de Ingreso: septiembre-2008
Ubicación: Nuñez, Capital Federal
Mensajes: 423
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: Verificar si se envio formulario

ok, muchas gracias!! lo probe y funciono.. gracias!
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 10:38.