Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: m0y8_s70n3 en 19 Febrero 2010, 15:46 pm



Título: Ayuda con PHP y MySQl
Publicado por: m0y8_s70n3 en 19 Febrero 2010, 15:46 pm
hola a todos de antemano gracias por la respuesta. Soy nuevo en php y mysql, y tengo un problema al momento de guardar los datos en mysql, al enviar el formulario no se guardan nada en la base de datos, y tampoco me sale un mensaje si es que ha ocurrido un error, o un mensaje de k se guardaron los datos correctamente. mi sistema operativo en ubuntu 9.04.


Título: Re: Ayuda con PHP y MySQl
Publicado por: ‭‭‭‭BadStupidMonkey. en 19 Febrero 2010, 16:10 pm
bueno podríamos intentar adivinar las 100000000000000001 razones por las que puede pasar eso, o , podrías poner aunque sea parte del código para ahorrar tiempo  ;-)






Saludos


Título: Re: Ayuda con PHP y MySQl
Publicado por: m0y8_s70n3 en 19 Febrero 2010, 16:16 pm
aqui les pongo el codigo: se trata de una agenda en php

form_agenda.php

<html>
<head>
   <title>Nueva Agenda</title>
   
   <link rel="stylesheet" type="text/css" href="./css/calendar-win2k-1.css" />
   <script type="text/javascript" src="./js/calendar.js"></script>
   <script type="text/javascript" src="./lang/calendar-es.js"></script>
   <script type="text/javascript" src="./js/calendar-setup.js"></script>
</head>

<body>
   <h1>Nueva Cita</h1>
   
   <form action="insert_agenda.php" method="post">
      <table border="0">
         <tr>
            <td>Fecha</td>
            <td> <input type="text" id="fecha" name="fecha" />
  <button id="trigger">...</button>

            <!--<input type="text" name="fecha" maxlength="15" size="15"><button id="trigger">...</button>--></td>
         </tr>
         
         <tr>
            <td>Hora</td>
            <td><input type="text" name="hora" maxlength="15" size="15"></td>
         </tr>
         
         <tr>
            <td>Actividad</td>
            <td><textarea name="actividad" cols="30" rows="3"> </textarea> </td>
         </tr>
         
         <tr>
            <td>Ciudad</td>
            <td><input type="text" name="ciudad" maxlength="20" size="15"></td>
         </tr>
         
         <tr>
            <td>Lugar</td>
            <td><input type="text" name="lugar" maxlength="50" size="26"></td>
         </tr>
         
         <tr>
            <td colspan="2"><input type="submit" value="Grabar"></td>
         </tr>
      </table>
   </form>
   <script type="text/javascript">
        Calendar.setup(
          {
               inputField  : "fecha",         // ID of the input field
               ifFormat    : "%d-%m-%Y",    // the date format
               button      : "trigger"       // ID of the button
          }
        );
   </script>

</body>
</html>


y este es el codigo de envio de formulario:

insert_agenda.php

<html>
<head>
   <title>Resultado de Registro</title>
</head>

<body>
   <h1>Resultado de Registro</h1>
   <?php
   
      // nombre de variables cortos
      $fecha = $_POST['fecha'];
      $hora = $_POST['hora'];
      $actividad = $_POST['actividad'];
      $ciudad = $_POST['ciudad'];
      $lugar = $_POST['lugar'];
      
      if(!$fecha || !$hora || !$actividad || !$ciudad || !$lugar)
      {
         echo '..:: No se ha introducido todos los datos requeridos. ::..<br />';
         echo '..:: Por favor retroceda y vuelva a intentarlo. ::..';
         exit;
      }
      
      if(!get_magic_quotes_gpc())
      {
         $fecha = addslashes($fecha);
         $hora = addslashes($hora);
         $actividad = addslashes($actividad);
         $ciudad = addslashes($ciudad);
         $lugar = addslashes($lugar);
      }
      

      @$db = new mysqli('localhost', 'root', '******', 'agenda');
      extract($_POST);
      if(mysqli_connect_errno())
      {
         echo '..:: Error: No se pudo conectar a la Base de Datos. Por favor intentelo mas tarde ::..';
         exit;
      }
      
      $query = "insert into agenda values ('".$fecha."', '".$hora."', '".$actividad."', '".$ciudad."', '".$lugar."')";
      
      $result = $db -> query($query);
         if($result)
            echo $db -> affected_rows. ' Nueva cita guardada en la Agenda.';
         
         $db -> close();
   
   ?>
   
</body>
</html>


Título: Re: Ayuda con PHP y MySQl
Publicado por: ‭‭‭‭BadStupidMonkey. en 20 Febrero 2010, 01:59 am
Al código php no le veo ningún problema. Quizás deberías comprobar si los datos POST llegan correctamente y son los que tu quieres.






Saludos


Título: Re: Ayuda con PHP y MySQl
Publicado por: Shell Root en 20 Febrero 2010, 02:13 am
La tabla agenda, cuantos campos tiene?, No tiene nungun campo ID?
Como te dijo ‭‭‭‭BadStupidMonkey, deberias imprimir la sentencia SQL que estas generando y mirar:
1. Que los completos esten con datos.
2. Mostrar el String de la consulta y ejecutarla en el motor de base de datos.