php vs. isset...XD...

Buenas, pongo esto aki porque no se dnd ponerlo, y como lo que YO estoy haciendo es SW libre(o eso creo, por lo menos con SW libre echo esta..XD)...XD...pues aqui va...XD

comento, tengo que ahcer un ejercicio para clase de una agenda(con integracion de datos en campos y estos que se escriban en un fichero.txt[esto se hacerlo]) pero tengo un problema, porque quiero intentar hacer lo mas posible en el mismo fichero *.php

pues bien, quiero que al abrir el *.php solo cargue 2 "botones" los cuales tengo echos(ahora pondre el codigo de uno)
quiero que me cargue esto al cargar la web
ImagenImagen
y quiero que al hacer click sobre ese boton(insertar) se me actualice la pagina y debajo de los botones me ponga mas cosas...

esactamente esto(esta echo con paint)...XD
Imagen
osea seria un "if(isset())", pero que es lo que pasa?? que me manda a la mierda, el boton funciona porque me carga otra vez la pagina pero no muestra nada...es como si el "isset" no funcionara...

Codigo del boton
[...]*
<form action=indes.php method=POST name=insertar>
<img SRC="img/in.png" name="in"
onMouseOver=img1()
onMouseOut=img1_1()
onClick=javascript:document.insertar.submit()>
</form>
[...]*


Codigo del php
<?php

if(isset($_POST[insertar])){
//el echo esta escho para comprobar que si que me hace algo el isset
echo "<hr width=75%> insertar";
}

[...]*


* mas codido por arriba y/o por abajo

ahora bien, que es lo que pasa esactamente???

falta mas codigo de JS que e puesto para los botones(eso no es el problema...seguro 100%)...

__EDIT__
toy subiendo fotos para que sea mas facil que lo entendais...

__EDIT__2

espero que entendais que es lo que quiero hacer...
Prueba esto

<form action="indes.php" method="POST">
<img src="img/in.png" name="in"
onMouseOver="img1()"
onMouseOut="img1_1()"
onClick="javascript:document.insertar.submit()"/>
<input type="hidden" name="insertar" value="enviado"/>
</form>
zootropo escribió:Prueba esto

<form action="indes.php" method="POST">
<img src="img/in.png" name="in"
onMouseOver="img1()"
onMouseOut="img1_1()"
onClick="javascript:document.insertar.submit()"/>
<input type="hidden" name="insertar" value="enviado"/>
</form>


DIOS!!!!!!!...te quiero...XD...

y ahora...me puedes explicar xk con esto funciona???gracias


PD: te importa que te agergue al msn???XD
no te se decir pk su solucion funciona xD pero aqui "onClick=javascript:document.insertar.submit()>" tienes el tag mal cerrado =P
Hola

A ver, no te funcionaba porque no tenias ningun tipo de control que enviara datos. En condiciones normales sin javascript el HTML sería de la siguiente forma:

<form method="post" action="index.php">
<input type="submit" name="enviado" value="Enviar" />
</form>


De esa forma, al usar el boton que te genera la página se recarga y recibe en la variable $_POST ['enviado'] la cadena 'Enviar'. En la solución que te da zootropo insertas un control oculto (<input type="hidden"...) que es el que guarda la información que realmente envias.

Te recomiendo que dejes el javascript para más adelante y te centres más en (X)HTML y PHP. Aprende el funcionamiento básico de un formulario y como trabajar en PHP con los datos que te llegan y más adelante podrás preocuparte de adornarlo con CSS y JS, que al fin y al cabo son opcionales.

Saludos
que fallo mas tonto...ahora que estoy mas despejado lo veo mejor...XD...si contorlar "controlo" de php...loq ue pasa que llevo solo un mes y aun no soy un maquina...XD...gracias...

ahora creo que se me a presentado un problema que creo que solo se puede hacer con cookies...porque se puede poner un isset dentro de otro???en plan de

porque una vez que le doy a añadir(en el boton de las fotos del primer post) me manda a la pagina "principal" del archivo *.php(como si no hubiera pulsado ni añadido nada, como si la hubiera abierto de nuevo vamos...XD

el caso, se peude hacer algo tal que asi(in if(isset() dentro de otro)
[...]*
if(isset($_POST[x])){
...(formulario/boton)
......if(isset($_POST[boton])){
.........(lo que sea)
......}
}
No veo por que no deberías poder, aunque no acabo de entender lo que quieres hacer :p
A ver, basicamente no te funcionaba, porque al hacer un post, tu envias los datos de las variables del formulario junto con la direccion a la que lo vas a enviar, todo en la misma URL. Si no pones una direccion adonde enviar los datos una vez rellenado el formulario, no se adjuntan a ninguna parte.
Ademas, para usar el isset tienes que recargar la pagina con los datos del formulario, para que pueda leer el campo de la URL y comprobar si esta activo o no, por lo que insertar nunca tenia ningun valor y no te hace la parte que quieres.

Te recomiendo que entres en w3schools y en la pagina de php para aprender de verdad como va la cosa.
Cloud_Strife escribió:A ver, basicamente no te funcionaba, porque al hacer un post, tu envias los datos de las variables del formulario junto con la direccion a la que lo vas a enviar, todo en la misma URL.

Con POST no se envían los valores de las variables del formulario en la URL, se envían en la petición. Eso es usando GET.

Si no pones una direccion adonde enviar los datos una vez rellenado el formulario, no se adjuntan a ninguna parte.

Si tenía una página en action. Y de todas formas, si lo dejas vacío se utiliza la página actual como valor.
Buenas

WaSm escribió:pues bien, quiero que al abrir el *.php solo cargue 2 "botones" los cuales tengo echos(ahora pondre el codigo de uno)
quiero que me cargue esto al cargar la web

...

y quiero que al hacer click sobre ese boton(insertar) se me actualice la pagina y debajo de los botones me ponga mas cosas...


Y digo yo, no es más facil que el botón 'insertar' sea un enlace que te lleve a una página con lo que tu quieres? Sin PHP ni nada. Es decir:

index.html
<html><head><title>Agenda y tal</title><head><body>
<ul>
   <li><a href="insertar.php">Insertar!</a></li>
   <li><a href="contactos.php">Contactos!</a></li>
</ul>
</body></html>


insertar.php
<?php
if (isset ($_POST ['nombre'])) {
   // Código para guardar los datos
}
?>
<html><head><title>Agenda y tal</title><head><body>
<ul>
   <li><a href="insertar.php">Insertar!</a></li>
   <li><a href="contactos.php">Contactos!</a></li>
</ul>
<form action="insertar.php" method="post">
   <label>Nombre <input type="text" name="nombre" /></label>
   <label>Apellido 1 <input type="text" name="apellido1" /></label>
   <label>Apellido 2 <input type="text" name="apellido2" /></label>
   <label>Telefono <input type="text" name="telefono" /></label>
   <input type="submit" name="enviar" value="Enviar" />
</form>
</body></html>


Lo que sería así, a huevo, sin comerse mucho la cabeza.
FrankCastle escribió:Buenas

WaSm escribió:pues bien, quiero que al abrir el *.php solo cargue 2 "botones" los cuales tengo echos(ahora pondre el codigo de uno)
quiero que me cargue esto al cargar la web

...

y quiero que al hacer click sobre ese boton(insertar) se me actualice la pagina y debajo de los botones me ponga mas cosas...


Y digo yo, no es más facil que el botón 'insertar' sea un enlace que te lleve a una página con lo que tu quieres? Sin PHP ni nada. Es decir:

index.html
<html><head><title>Agenda y tal</title><head><body>
<ul>
   <li><a href="insertar.php">Insertar!</a></li>
   <li><a href="contactos.php">Contactos!</a></li>
</ul>
</body></html>


insertar.php
<?php
if (isset ($_POST ['nombre'])) {
   // Código para guardar los datos
}
?>
<html><head><title>Agenda y tal</title><head><body>
<ul>
   <li><a href="insertar.php">Insertar!</a></li>
   <li><a href="contactos.php">Contactos!</a></li>
</ul>
<form action="insertar.php" method="post">
   <label>Nombre <input type="text" name="nombre" /></label>
   <label>Apellido 1 <input type="text" name="apellido1" /></label>
   <label>Apellido 2 <input type="text" name="apellido2" /></label>
   <label>Telefono <input type="text" name="telefono" /></label>
   <input type="submit" name="enviar" value="Enviar" />
</form>
</body></html>


Lo que sería así, a huevo, sin comerse mucho la cabeza.



Yo usaría jquery para mostrar el formulario de forma chula :)
10 respuestas