martita:
Hay dos cosas que tienes que entender antes de iniciarte en el mundo de php:
1. PHP y javascript son dos lenguajes distintos
2. PHP y HTML (incluido javascript) viven en dos espacios diferentes.
El punto 1 ya te lo aclaró
dec en otro hilo, así que enfaticemos el punto 2.
PHP es un lenguaje que se ejecuta en el servidor Web y te sirve para producir un documento HTML que el servidor manda al cliente (típicamente, el navegador). Cuando el documento llega a su destino, PHP ya no tiene nada que hacer y es imposible interactuar con él, no puedes hacer llamadas a funciones definidas en PHP, simplemente porque ya no están ahí.
Por poner un ejemplo sencillo, considera este
script PHP:
Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.1//EN">
<html>
<head>
<meta http-equiv='content-type' content='text/html; charset=iso-8859-1'>
<meta name='generator' content='editplus'>
<meta name='author' content='román'>
<title> Prueba </title>
</head>
<body>
<?php
echo "Este texto fue generado con PHP";
?>
</body>
</html>
Cuando el servidor Web recibe la petición por parte del cliente (el navegador) de este
script, lo turna a su vez al procesador de PHP (que es un módulo del servidor) para su interpretación. Este procesador genera un documento HTML basado en el código HTML que tenga el
script y en las instrucciones de PHP -todo lo que esté entre
<?php y
?>.
Así, por ejemplo, cuando llega a
Código PHP:
<?php
echo "Este texto fue generado con PHP";
?>
el procesador PHP ejecuta la instrucción y coloca la salida en el mismo documento. El resultado final es:
Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.1//EN">
<html>
<head>
<meta http-equiv='content-type' content='text/html; charset=iso-8859-1'>
<meta name='generator' content='editplus'>
<meta name='author' content='román'>
<title> Prueba </title>
</head>
<body>
Este texto fue generado con PHP
</body>
</html>
Y este documento es el que el servidor Web finalmente envia al cliente, tal y como si lo hubieras escrito directamente así.
Entonces, cuando el documento llega al navegador, ya no tiene ni rastro de PHP y por ello no es posible hacer algo como
Código:
<input type="submit" name="enviar" id="var" value="Enviar" onclick=verifica() >
porque esto ya es HTML que "vive" en el cliente. La instrucción
onclick sólo puede hacer referencia a una función de algún lenguaje que se ejecute en el cliente (como javascript).
En resumen, y para reiterar: el código PHP y el documento final HTML viven en dos mundos distintos y no pueden interactuar directamente.
-------------------------------
Entonces, regresando al motivo de tu hilo: "boton no hace nada al pulsarlo", espero que ahora quede más claro porqué no hace nada. De hecho no sólo no hace nada sino que, además, marca un error, porque la función verifica
no existe;
existió en el servidor cuando se estaba procesando el
script, pero ya no cuando el documento final llegó al navegador.
Más aún, ese onclick no es necesario; se trata de un elemento <input type='submit'> que con sólo presionarlo ocasiona que los datos del formulario se envíen al servidor sin codificar nada aparte.
Ahora, el nombre de ese botón es "enviar", y por tanto, cuando pones
Código PHP:
<?PHP
if ($_POST["var"])
{
echo "si valido el post";
}
?>
no pasa nada cuando la petición llega al servidor, porque la variale 'var' no existe. No es lo mismo
name que
id.
ides un atributo que sólo tiene sentido del lado del cliente.
// Saludos