2009-11-25 798 views
5

Digamos que solo puedo usar códigos html en una página (llámalo index.html).Llamar a PHP en la página html

Así que ahora, quiero verificar algo usando php (llámalo userCheck.php).

Por lo tanto, es posible que desee que el html se comunique con los archivos php.

Por ejemplo, algo así como

cuando los usuarios acceden index.html, que se compruebe la userCheck.php, por lo UserCheck dice sí, entonces puede proceder vista o de lo contrario volverá a dirigir a userCheck.php.

¿Es posible algo como usar javascript o ajax? Soy novato en esos dos.

Gracias

Respuesta

3

Puede usar javascript para obtener algunos datos en su html de su php.

Ejemplo usando jQuery (poner esto en tu HTML):

<script type="text/javascript" charset="utf-8"> <!-- javascript in html --> 
    $(document).ready(function(){ // start here, if DOM is loaded 

    // request data from php script ... 
    // we expect the userCheck.php script to actually 'return' something, 
    // some data ... 
    $.get("userCheck.php", function(data){ 
      alert("Data Loaded: " + data); 
    }); 

    // or with some params to the php 
    // e.g. userCheck.php can handle username and favcolor parameters 
    $.get("userCheck.php", 
      {"username" : "lazy", "favcolor" : "FFFFFF" },   
      function(data){ alert("Data Loaded: " + data); 
    }); 



}); 
</script> 

Si todo esto es completamente nuevo para usted, por favor, hágase un favor y leer algunos libros introductional, que le dará valiosos puntos de vista - some random book tips from O'Reilly , Google Tech Talk on jQuery

+0

slick. Verificare las sugerencias. –

+0

¿Cómo envío la entrada al archivo php? Quiero enviar, digamos ID de usuario a php, para que php pueda regresar. –

+0

está todo escrito en los libros (más/ver edición): http://docs.jquery.com/Ajax/jQuery.get – miku

0
No

seguro exactamente lo que está buscando, pero puede que acaba de nombrar a su página index.php, escribir todo su html en ella, y donde sea necesario, introduzca su código PHP como <?php ...code... ?>? El PHP se ejecuta en el lado del servidor y puede presentar de manera condicional un HTML diferente dependiendo de cuáles sean sus factores.

+0

Creo que él quiere hablar con PHP desde una página HTML que sólo permite . Entonces, buscando eludir el sistema. –

+0

El problema es que no puedo usar .php, es necesario que esté en html –

1

Si su servidor no permite archivos php, entonces no puede hacerlo directamente. Es posible que desee colocar su archivo php en otro servidor, admitir php y llamarlo con ajax. Pero debes asegurarte de que tu proveedor de servidores php lo permita.

+0

permite php pero porque el programa que utilicé solo puede generar páginas html. –

0

JavaScript se puede utilizar para llamar y comunicarse con una página HTML a través de JSON.

Aquí hay un ejemplo usando jQuery y la cadena de selección de plug-in para llenar un cuadro desplegable basado en la selección de un anterior desplegable .. página

HTML:

$('#selectbox1').selectChain({ 
     target: $('#selectbox2'), 
     url: 'selectlist.php', 
     data: { ajax: true } 
    }).trigger('change'); 

selectlist.php

if (@$_REQUEST['ajax']) { 
$json = array(); 
    if ((isset($_REQUEST['selectbox1'])) && ($_REQUEST['selectbox1'] != '')){ 
     $results = mysql_query('SELECT * FROM table WHERE id="'.$_REQUEST['selectbox1'].'"') or die ("Error: ".mysql_error()); 
     while($row = mysql_fetch_array($results)) { 
      $json[] = '{"id" : "' . $row['id'] . '", "label" : "' . $row['name'] . '"}'; 
     } 
    } 
    echo '[' . implode(',', $json) . ']'; 
} 
2

Usted desea configurar un controlador de Apache para que los archivos con la extensión .html se analizan con php. Hacerlo a través de un simple archivo de .htaccess encuentra en la raíz de su web:

AddHandler application/x-httpd-php .html 

Ahora puede utilizar PHP dentro de las páginas html. No es necesario contar con hacks AJAX adicionales o tratar con usuarios de NoScript o navegadores débiles de JS.

+0

no go from the one produce html es software externo, no apache –

+0

@UFOman: ¿Asumo que los archivos HTML están servidos por apache? ¿No puede simplemente editarlos después de que se hayan generado? –

0

UFOman dijo "el servidor permite PHP pero porque el programa que utilicé solo puede generar páginas html" Me parece que lo que realmente necesita es comprender cómo combinar páginas html con código php.La manera más simple (sin embargo adecuada) para hacer lo que quiere es la siguiente:

1) Usando el Bloc de notas o TextEdit, abra el archivo HTML de su salida del programa
2) Seleccionar todo y copiar el contenido
3) Crear una archivo llamado yourPageNameTemplate.php y Pegar en él. Pretender que se parece a esto:

<html> 
<body> 
    <form method="post"> 
     <input type="text" name="user_name" value="" /> 
     <input type="submit" name="submit" value="submit" /> 
    </form> 
</body> 
</html> 

4) Crear un archivo llamado yourPageName.php y poner algo como esto en él:

<?php 

if(isset($_POST['submit']) && isset($_POST['user_name'])) 
{ 
    echo 'Thanks for submitting the form!'; 
} 
else 
{ 
    include 'yourPageNameTemplate.php'; 
} 

?> 

que debería funcionar bien. Ahora, si desea agregar alguna comprobación de errores, un mensaje de error a su plantilla, podemos hacerlo de manera bastante simple.

5) Editar yourPageNameTemplate.php así:

<html> 
<body> 
    <?=$form_error_message?> 
    <form method="post"> 
     <input type="text" name="user_name" value="<?=$form_user_name?>" /> 
     <input type="submit" name="submit" value="submit" /> 
    </form> 
</body> 
</html> 

6) Editar yourPageName.php así:

<?php 

$form_error_message = ''; 
$form_user_name = ''; 
if(isset($_POST['user_name']) && strlen($_POST['user_name']) < 5) 
{ 
    $form_error_message = 'User Name must be at least 5 characters long'; 
    $form_user_name = $_POST['user_name']; 
} 

if(isset($_POST['submit']) && empty($form_error_message)) 
{ 
    echo 'Thanks for submitting the form!'; 
    //it would be better to include a full 'thank you' template here, instead of echoing. 
} 
else 
{ 
    include 'yourPageNameTemplate.php'; 
} 

?> 
Cuestiones relacionadas