elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  problema con mysql
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: problema con mysql  (Leído 2,496 veces)
PhanteonHxx

Desconectado Desconectado

Mensajes: 1


Ver Perfil
problema con mysql
« en: 21 Noviembre 2009, 23:43 pm »

Hola tengo un error de sintaxis en un codigo fuente que me sirve para realizar una pagina donde realizar consultas en una base de datos, el caso es que no consigo arreglar el error, aqui os dejo el codigo a ver si me podeis exar una mano

El error es ste

Parse error: syntax error, unexpected '<' in C:\Apache\Apache2\htdocs\mysql_send.php on line 78


Y este el codigo de la pagina a realizar

<!-- Program: mysql_send.php

   Desc: PHP program that sends an SQL query to the

   MySQL server and displays the results.
-->

<html>

   <head>

      <title>SQL Query Sender</title>
   </head>

   <body>

<?php

   $host="localhost";

   $user="";

   $password="";

/* Section that executes query */

   if(@$_GET['form']=="yes")

   {

      mysql_connect($host,$user,$password);
      mysql_select_db($_POST['database']);
      $query = stripSlashes($_POST['query']);
      $result = mysql_query($query);
      echo "Database Selected: <b>{$_POST['database']}</b><br>
      Query: <b>$query</b><h3>Results</h3><hr>";
      if($result == 0)
      echo "<b>Error ".mysql_errno().": ".mysql_error().
      "</b>";

   elseif (@mysql_num_rows($result) == 0)

      echo("<b>Query completed. No results returned.</b><br>");
   
   else

   {
      echo "<table border='1'><thead><tr>";
      for($i = 0;$i < mysql_num_fields($result);$i++)
   {
      echo "<th>".mysql_field_name($result.$i).
      "</th>";
   }

      echo " </tr> </thead> <tbody";
      for ($i = 0; $i < mysql_num_rows($result); $i++)
   {

      echo "<tr>";
      $row = mysql_fetch_row($result);
      for($j = 0; $j < mysql_num_fields($result);$j++)
   {
      echo("<td>" . $row[$j] . "</td>");
   }
      echo "</tr>";
   }
      echo "</tbody>   

   </table>";

   }  //end else

   echo "

   <hr><br>

   <form action=\"{$_SERVER['PHP_SELF']}\" method=\"POST">
      <input type='hidden'  name='query'  value='$query'>
      <input type='hidden'  name='database'  value={$POST['database']}>
      <input type='submit'  name=\"queryButton\"  value=\"New Query\">
      <input type='submit'  name=\"queryButton\"  value=\"Edit Query\">
   </form>";

   unset($form);
   exit();

   } // endif form=yes

   /* Section that request user input of query */
   @$query=stripSlashes($_POST['query']);
   if (@$_POST['queryButton'] != "Edit Query")
   {
      $query = " ";
   }

   ?>

   <form action="<?php echo $_SERVER['PHP_SELF'] ?>?form=yes"  method="POST">

   <table>
      <tr>
         <td align=right><b>Type in database name</b></td>
         <td><input type="text" name="database" value=<?php echo @$_POST['database'] ?> ></td>
      </tr>

      <tr>
         <td align="right" valign="top"><b>Type in SQL query</b></td>
         <td><textarea name="query" cols="60" rows="10"><?php echo $query ?></textarea></td>
      </tr>

      <tr>
         <td colspan="2" align="center"><input type="submit" value="Submit Query"></td>
      </tr>
   </table>
   </form>

   </body>
</html>


« Última modificación: 21 Noviembre 2009, 23:46 pm por thejaker » En línea

Mr. Crowley


Desconectado Desconectado

Mensajes: 343


Costa Rica


Ver Perfil WWW
Re: problema con mysql
« Respuesta #1 en: 24 Noviembre 2009, 13:47 pm »

Hola, aca no se cierra la etiqueta <tbody>:

Código:
 echo " </tr> </thead> <tbody";

No creo que sea ese el error (aunque nunca se sabe)... pruebe y nos avisa  ;D


En línea

Mi blog personal: www.calirojas.com
Nakp
casi es
Ex-Staff
*
Desconectado Desconectado

Mensajes: 6.336

he vuelto :)


Ver Perfil WWW
Re: problema con mysql
« Respuesta #2 en: 24 Noviembre 2009, 16:02 pm »

línea 77

Código
  1. <form action=\"{$_SERVER['PHP_SELF']}\" method=\"POST">

por:

Código
  1. <form action=\"{$_SERVER['PHP_SELF']}\" method=\"POST\">
En línea

Ojo por ojo, y el mundo acabará ciego.
WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.605


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: problema con mysql
« Respuesta #3 en: 25 Noviembre 2009, 09:13 am »

porque no usas comillas simples mejor?

Código
  1. echo '
  2. <hr><br />
  3. <form action="'$_SERVER['SCRIPT_URI'].'" method="post">
  4.  <input type="hidden" name="query" value="'.htmlspecialchars($query, ENT_QUOTES).'">
  5.  <input type="hidden" name="database" value="'.htmlspecialchars($_POST['database'], ENT_QUOTES).'">
  6.  <input type="submit" name="queryButton" value="New Query">
  7.  <input type="submit" name="queryButton" value="Edit Query">
  8. </form>
  9. ';

Se ve que mezclas las comillas simples con las dobles, de seguro copiaste el codigo por ahi y lo comenzaste a editar.
Fijate en los valores de los inputs, los pasé por htmlspecialchars para evitar un xss o para que pueda procesar todo tipo de carácteres incluyendo los especiales, ahora solo cuidate de la inyección sql.

Fijate que también reemplazé php_self por script_uri para evitar el xss debido al index.php/xss aca/x.php

También reemplazé las comillas simples por dobles porque en el caso de que utilizes htmlentities no te va a escapar las comillas simples y te puede causar un xss igual.

Y ojo que en $POST['database'] si pretendias poner el post de la supervariable post no te va a funcionar porque post lleva un guion bajo $_POST tal como lo puse en el código.

También en ves de poner tantas arrobas puedes declarar un error_reporting(0); en la cabezera del script.

Saludos.
« Última modificación: 25 Noviembre 2009, 09:16 am por WHK » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema con mysql?
Scripting
Panic0 3 2,848 Último mensaje 16 Abril 2021, 12:36 pm
por Panic0
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines