problema mysql_send.php

Iniciado por motocros_elche, 12 Febrero 2010, 23:26 PM

0 Miembros y 3 Visitantes están viendo este tema.

~ Yoya ~

query es una consulta
http://wiki.ideauno.cl/index.php/T%C3%A9rminos_de_inform%C3%A1tica

Te recomendaria que pegues el codigo en el post, porque no a todos nos gusta descargar algo, ps puedes ponerlo aqui.

El codigo que pase funciona asi:
Si los parametros del formulario tienen algun valor o no tienen valor nulo ( 0 o nada), se cumple la condicion y se hace la conexion y todo eso, si no se cumple no hace ninguna conexion hasta que los parametros contengan algun valor.
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

motocros_elche

Cita de: & eDu & en 14 Febrero 2010, 12:40 PM
Código (php) [Seleccionar]
  mysql_connect($host,$user,$password) or die(mysql_error());
  mysql_select_db($_POST['database']) or die(mysql_error());
  $result = mysql_query($_POST['query']) or die(mysql_error());
Lo remplazas por

Código (php) [Seleccionar]
if(!empty($_POST['database']) && !empty($_POST['query']))
{
      mysql_connect($host,$user,$password);

      mysql_select_db($_POST['database']);
... .....
.....
..
.}else{echo 'Ingresa los campos';}


El código que te ha dejado yoyahack es para comprobar si recibes los $_POST
PD: No entiendo como puedes estar leyendo un libro e ir por ese capítulo y no saber aun como funciona un formulario :S
error xD

motocros_elche

#12
solucionado

~ Yoya ~

No uses magic_quotes_gpc, este se puede bypassear, alguna veces la comodidad no es lo mejor para poner proteccion, mejor pasa todo por htmlentities(), ok a lo que vamos, asi quedaria mejor, si las variables del formulario no contiene ningun valor no se ejecuta el if principal, te recomiendo que las variables del formulario la guardes en una variable porque estar haciendo $_POST['aaaa'], te puede confundir, es mejor tratar de hacer codes limpios asi te evitas problemas o lo resuelves mas facir xD, asi quedaria mejor:

Código (php) [Seleccionar]
<?php
/*Program:  mysql_send.php
 *Desc:     PHP program that sends an SQL query to the
 *          MySQL server and displays the results.
 */
echo "<html>
      <head><title>SQL Query Sender</title></head>
      <body>"
;
if(
ini_get("magic_quotes_gpc") == "1")
{
   
$_POST['query'] = stripslashes($_POST['query']);
}
$host="mysql.webcindario.com";
$user="libertyelche";
$password="******";

/* Section that executes query and displays the results */
if(!empty($_POST['database']) && !empty($_POST['query']))
{
  
mysql_connect($host,$user,$password) or die(mysql_error());
  
mysql_select_db($_POST['database']) or die(mysql_error());
  
$result mysql_query($_POST['query']) or die(mysql_error());
  echo 
"Database Selected: <b>{$_POST['database']}</b><br>
        Query: <b>
{$_POST['query']}</b>
        <h3>Results</h3><hr>"
;
  if(
$result == false)
  {
     echo 
"<h4>Error: ".mysql_error($cxn)."</h4>";
  }
  elseif(@
mysql_num_rows($result) == 0)
  {
     echo 
"<h4>Query completed. 
            No results returned.</h4>"
;
  }
  else
  {
   
/* Display results */
     
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);
        foreach(
$row as $value)
        {
           echo 
"<td>".$value."</td>";
        }
        echo 
"</tr>";
     }
     echo 
"</tbody></table>";
  } 
 
/* Display form with only buttons after results */
  
$query str_replace("'","%&%",$_POST['query']);
  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>"
;
  exit();


/* Displays form for query input */
if (@$_POST['queryButton'] != "Edit Query")
{
   
$query " ";
}
else
{
   
$query str_replace("%&%","'",$_POST['query']);
}
?>

<form action="<?php echo $_SERVER['file:///C|/Documents and Settings/Jonatan/Mis documentos/Downloads/PHP_SELF'?>"
      method="POST">
<table>
<tr><td style='text-align: right; font-weight: bold'>
         Type in database name</td>
     <td><input type="text" name="database"
            value=<?php echo @$_POST['database'?> ></td>
</tr>
<tr><td style='text-align: right; font-weight: bold'
         valign="top">Type in SQL query</td>
     <td><textarea name="query" cols="60"
            rows="10"><?php echo $query ?></textarea></td>
</tr>
<tr><td colspan="2" style='text-align: center'>
        <input type="submit" value="Submit Query"></td>
</tr>
</table>
<input type="hidden" name="form" value="yes">
</form>
</body></html>



Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

motocros_elche

Cita de: yoyahack en 14 Febrero 2010, 15:23 PM
No uses magic_quotes_gpc, este se puede bypassear, alguna veces la comodidad no es lo mejor para poner proteccion, mejor pasa todo por htmlentities(), ok a lo que vamos, asi quedaria mejor, si las variables del formulario no contiene ningun valor no se ejecuta el if principal, te recomiendo que las variables del formulario la guardes en una variable porque estar haciendo $_POST['aaaa'], te puede confundir, es mejor tratar de hacer codes limpios asi te evitas problemas o lo resuelves mas facir xD, asi quedaria mejor:

Código (php) [Seleccionar]
<?php
/*Program:  mysql_send.php
 *Desc:     PHP program that sends an SQL query to the
 *          MySQL server and displays the results.
 */
echo "<html>
      <head><title>SQL Query Sender</title></head>
      <body>"
;
if(
ini_get("magic_quotes_gpc") == "1")
{
   
$_POST['query'] = stripslashes($_POST['query']);
}
$host="mysql.webcindario.com";
$user="libertyelche";
$password="******";

/* Section that executes query and displays the results */
if(!empty($_POST['database']) && !empty($_POST['query']))
{
  
mysql_connect($host,$user,$password) or die(mysql_error());
  
mysql_select_db($_POST['database']) or die(mysql_error());
  
$result mysql_query($_POST['query']) or die(mysql_error());
  echo 
"Database Selected: <b>{$_POST['database']}</b><br>
        Query: <b>
{$_POST['query']}</b>
        <h3>Results</h3><hr>"
;
  if(
$result == false)
  {
     echo 
"<h4>Error: ".mysql_error($cxn)."</h4>";
  }
  elseif(@
mysql_num_rows($result) == 0)
  {
     echo 
"<h4>Query completed. 
            No results returned.</h4>"
;
  }
  else
  {
   
/* Display results */
     
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);
        foreach(
$row as $value)
        {
           echo 
"<td>".$value."</td>";
        }
        echo 
"</tr>";
     }
     echo 
"</tbody></table>";
  } 
 
/* Display form with only buttons after results */
  
$query str_replace("'","%&%",$_POST['query']);
  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>"
;
  exit();


/* Displays form for query input */
if (@$_POST['queryButton'] != "Edit Query")
{
   
$query " ";
}
else
{
   
$query str_replace("%&%","'",$_POST['query']);
}
?>

<form action="<?php echo $_SERVER['file:///C|/Documents and Settings/Jonatan/Mis documentos/Downloads/PHP_SELF'?>"
      method="POST">
<table>
<tr><td style='text-align: right; font-weight: bold'>
         Type in database name</td>
     <td><input type="text" name="database"
            value=<?php echo @$_POST['database'?> ></td>
</tr>
<tr><td style='text-align: right; font-weight: bold'
         valign="top">Type in SQL query</td>
     <td><textarea name="query" cols="60"
            rows="10"><?php echo $query ?></textarea></td>
</tr>
<tr><td colspan="2" style='text-align: center'>
        <input type="submit" value="Submit Query"></td>
</tr>
</table>
<input type="hidden" name="form" value="yes">
</form>
</body></html>




ok este no me da error directamente no me sale nada al pulsar el botón... que datos son los que hay que rellenar?
en el archivo .php alguno mas a parte de host user y pass?
probé a pner algunos pero o no salia nada o decía acces denied

cuando estoy en el archivo osea ya subido desde el navegador tengo que rellenar algo??

Graciaas

~ Yoya ~

Osea, los datos del formulario, si no estan lleno no se ejecutara el code.
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

motocros_elche

Cita de: yoyahack en 14 Febrero 2010, 17:12 PM
Osea, los datos del formulario, si no estan lleno no se ejecutara el code.
que datos?
los archivo .php o los datos que tienes que rellenar desde el navegador??

~ Yoya ~

Los datos del formularios man, recojo las variables de los formulario aver si contienen algun valor.
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

motocros_elche

Cita de: yoyahack en 14 Febrero 2010, 18:16 PM
Los datos del formularios man, recojo las variables de los formulario aver si contienen algun valor.
mm
te refieres a esto?

& eDu &

Cita de: motocros_elche en 14 Febrero 2010, 18:25 PM
Cita de: yoyahack en 14 Febrero 2010, 18:16 PM
Los datos del formularios man, recojo las variables de los formulario aver si contienen algun valor.
mm
te refieres a esto?

Sí, eso tiene que estar rellenado
El primer campo con el nombre de la base de datos y el segundo con la consulta.