para que sirve la admiracion (!) que veo muchas veces en if?
Si la respuesta puede ser detallada mejor.
Gracias
| |||
Hola. La admiración o signo de exclamación se utiliza para negar el valor de una variable o una función. Me explico, si tienes una variable que puede tomar dos valores (verdadero o falso) será algo así: $variable=1 (verdadero) o $variable=0 (falso) Ahora bien si tu quieres que se ejecute codigo p. ejem cuando el valor de $variable es 1 haces lo siguiente: Código PHP: Código PHP: Saludos |
| |||
seria lo mismo que si usar la admiracion, lo pusieramos en else, i en if nada? O sea quiero decir que lo que se ejecutaria si el valor fuese nulo usando admiracion, poniendolo en else sin admiracion seria lo mismo no? I aparte de esto, si kiero ke una pagina cargue un formulario dependiendo si antes ha estado enviad, seria poner la admiracion seguido del nombre de la variable, i si la variable en cuestion no tiene nada dentro se considera nulo por tanto se ejecutaria? |
| |||
Haber, vamos por parte. Primero debe quedarte algo muy claro la condición de un IF o un While o cualquier sentencia de control o ciclo iterativo, para que pueda ejecutarse DEBE SER SIEMPRE VERDADERA. Con esto quiero decir que si tu deseas que "algo se ejecute" cuando los valores de la condición sean falsos o sean lo contrario de lo que tu esperas como resultado debes anteponer ! a esas condiciones (de esta forma será verdadera la condición). Para el ejemplo del if ... else Código PHP: Código PHP: Para cargar un formulario si has enviado una página, por lo que entiendo te refieres a ejecutar el el código dado por la llamada al archivo en el "action=algo.php" del form. En este caso en el form tu tienes una variable <input name="enviar" type="button" value="subir">. si quieres ejecutar el código solo cuando se ha presionado el boton enviar tu archivo algo.php debería decir una cosa asi: Código PHP: Código PHP: Saludos Última edición por heraldex; 06/11/2003 a las 11:42 |
| |||
Lo explicas bien pero refiriendo al formulario, keria decir ke si al poner la admiracion en la variable $_post, solo se ejecutaria si la variable no contiene nada ya que no se ha ejecutado el form? Comprendes? O sea que si no se ha ejecutado el form la variable $_post no tiene nada por tanto se ejecutara el if con admiracion, pero si la variable Spost contiene algo se ejecutara lo del esle no? |
| |||
Se a lo que te refieres y me parece que lo q debes hacer es lo siguiente: archivo form.php: Código PHP: |
| |||
pongo el codigo ke usaria, a ver si es correcto: Código PHP: |
| |||
Haber de nuevo, y me parece q todavia tienes alguna confusion que va mas alla de la utilidad de !. Trataré de explicarte. Cuando tu envias una variable desde un formulario (por ejem. la variable que corresponde al boton de envío: <input type=submit name=enviar value=1>) para que puedas acceder a la variable, que en este caso se llama enviar, dentro del archivo algo.php la debes acceasr mediante la instruccion $_POST["enviar"] o $enviar dependiendo de la configuracion de tu PHP, de manera que : if (!($_POST)) debe escribirse como if (!($_POST["enviar"])) ($_POST[] es una variable superglobal de PHP y debes ocuparla de esa forma). Ahora, volviendo al <input> de mas arriba, cuando presionas el boton de envio la variable "enviar" toma valor 1 y eso indica q enviaste el formulario, entonces para detectar este echo debes escribir: Código PHP: si el formulario tratas de accesarlo sin presionar el boton enviar por ejemplo la sintaxis deberia ser: Código PHP: En forma alternativa las dos instrucciones anteriores las puedes escribir como: Código PHP: Código PHP: |
| |||
escampa ..y que tiene que ver el botón submit? xD .. Para PHP es una simple variable más de tantas que puedes pasar por tu formulario. El isset() (www.php.net/isset) te sirve para comprobar la existencia o no de una variable (de cualquier tipo .. normales o arrays ..) Y es lo que deberías usar. Tambien tienes empyt() para ver si ademas de estar definida tu variable .. tiene valor (distinto de NULL '' o cero ) Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| |||
Ah o sea el isset te dice se ha recogido algun voler, entnces si pongo la admiracion con el isset es la forma de comprobar si el formulario ha sido enviado. Muchas gracias o sea seria: Código PHP: |
| |||
mm exactamente no .. isset() dice "si está creada o no" .. pero no mira su valor .. eso lo haces tu a continuación de comprobar si exite o bien usas empyt() que te dice eso justamente "existe y con valor .. sino da un "false" ..) Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| |||
Si lo que tu quieres es mostrar el formulario todas las veces que no se hallan ingresado datos o cuando no se presiona el boton enviar, entonces esta Bien. Pero recuerda. <form name="formulario" action="algo.php" method="post"> ....... <input type=submit name=enviar value=1></form> el contenido de algo.php debería ejecutarse SIEMPRE y cuando presiones el boton de envio, luego tu codigo php debera "hacer algo" si se presiono el boton y "mostrar el formulario de nuevo" si no se ha presionado (o sea si la variable name es vacia) Saludos |
| |||
heraldex pero el arxivo es el mismo, o sea el mismo arxivo ke contiene el form, envia el form i t da las gracias dependiendo de si a encontrao las variables, respresenta que el ya capta si las tiene i si las tiene te lo agradece i si no las tiene te mete el form pa ke les des los valores. |
| |||
Bueno en realidad da lo mismo si es el mismo archivo, o estas llamando a otro, el método sigue siendo igual, en todo caso el tema ya para otro lado distinto de tu pregunta inicial q era el uso de (!). Si quieres postea otro mensaje con una nueva pregunta para q te quede mas claro, aunque a mi parecer ya lo tienes claro. saludos |