2011-06-16 35 views
9

Así que, aquí estoy de nuevo con otro problema -.-'HTML Formular redirige a XAMPP localhost Página de inicio

programé mi propio script php/html a ceder y transferir datos desde un formulario a una base de datos. Al principio funcionó. De alguna manera, algunos días más tarde comenzó a redirigirme a la página principal de XAMPP localhost (http: // localhost/xampp /). No tengo idea de por qué:/

Así es como mi sitio web parece:

  • index.php
    • todas las otras secuencias de comandos (a través de switch de los casos)
    • incluyendo mi libro de visitas-scripts (¡sin caja de cambios!) ¡Siempre está ahí!

Así es como mi "addguestbook.php" se parece a:

<?php 

...database stuff... 

if ($_SERVER['REQUEST_METHOD'] == 'POST'){ 

    $name = $_POST['name']; 
    $email = $_POST['email']; 
    $website = $_POST['website']; 
    $comment = $_POST['comment']; 
    $datetime = date("l, jS M Y, g:i a"); //date time 

    // Connect to server and select database. 
    mysql_connect($host, $username, $password)or die("cannot connect server: ".mysql_error()); 
    mysql_select_db($db_name)or die("cannot select DB: ".mysql_error()); 

    $sql="INSERT INTO ".$tbl_name."(id, name, email, website, comment, datetime)VALUES('".$post_id."', '".$name."', '".$email."', '".$website."', '".$comment."', '".$datetime."')"; 
    $result=mysql_query($sql); 

    mysql_close(); 

    header('Location: http://'.$hostname.$path.'/index.php' . $get, true, 303); 
}?> 

<form action="index.php<? echo $get; ?>" method="post"> 
    <table border="0" cellspacing="0" cellpadding="0"> 
     <tr> 
      <td class="guestbookFormCell" colspan='2'><input 
       class="guestbookInputFieldText" name="name" type="text" 
       value="Name *" size="40" maxlength="30" /></td> 
     </tr> 
     <tr> 
      <td class="guestbookFormCell" colspan='2'><input 
       class="guestbookInputFieldText" name="email" type="text" 
       value="E-Mail (won't become displayed)" size="40" maxlength="40" /> 
      </td> 
     </tr> 
     <tr> 
      <td class="guestbookFormCell" colspan='2'><input 
       class="guestbookInputFieldText" name="website" type="text" 
       value="Website" size="40" maxlength="50" /></td> 
     </tr> 
     <tr> 
      <td class="guestbookFormCell" colspan='2'><textarea 
        class="guestbookInputFieldText" name="comment" cols="37" rows="5">Comment *</textarea> 
      </td> 
     </tr> 
     <!-- 
     <tr> 
      <td>CAPTCHA</td> 
     </tr> 
     --> 
     <tr> 
      <td><button class="guestbookFormCell guestbookButton" type="submit" 
        name="submit"> 
        <span class='guestbookButtonText'>Send</span> 
       </button></td> 
      <td><button class="guestbookFormCell guestbookButton" style="float:right;"type="reset" 
        name="reset"> 
        <span class='guestbookButtonText'>Reset</span> 
       </button></td> 
     </tr> 
    </table> 
</form> 

en index.php:

   $get = "?mod=home"; 

Este script se usa para varias cosas: gueastbook general de la página y para comentarios en publicaciones individuales & fotos/álbumes.

PD: no pude escribir hola al principio del hilo, por alguna razón:/Si eso fue grosero, lo siento!

PSS: Obtuvo el error.

bastante tonto :)

simplemente se olvidó de que el foro es en realidad redirigiendo a (en este caso) index.php en el directorio raíz. Eso significa que Xampp/htdocs/index.php.

Sólo tengo que arreglar el enlace y estoy bien -.-'

+2

'PS: Yo no podría escribir hola al comienzo de la rosca, por alguna razón:/Si eso se acercó grosero , lo siento! 'Broma del día ... :) –

+0

¡Amigo!123456789 – JustBasti

+0

Olvidó el '0' –

Respuesta

0

estoy feliz de haberlo hecho encontrar cuál es el problema, ya que no puedo realmente entender cómo funciona la escritura, sin embargo, al asignar el $ nombre, $ correo electrónico, $ sitio web, etc., debe usar mysql_espace_string(). De lo contrario, un usuario podría inyectar código malicioso y tener acceso a toda la tabla SQL.

$name = mysql_escape_string($_POST['name']); 
$email = mysql_escape_string($_POST['email']); 
$website = mysql_escape_string($_POST['website']); 
$comment = mysql_escape_string($_POST['comment']); 
$datetime = date("l, jS M Y, g:i a"); // Escaping the string is not necessary here. 

(En este momento los posibles errores de lenguaje: yo no soy un hablante nativo de Inglés.)

+1

Mejor aún, use consultas parametrizadas (a través de PDO). –

2

Sólo editar o borrar el index.html original y quitar la línea siguiente

<meta http-equiv="refresh" content="0;url=/xampp/"> 

Mejor haría sea ​​si también limpia su caché, porque su navegador está listo para cargar todo nuevo.

endo

EDITAR: Usted no está solo con ese problema: why-does-my-xampp-installation-auto-redirect-to-http-localhost-xampp

Cuestiones relacionadas