Jump to content


Photo

Dudota sobre el tutorial 18 php orientado a objetos calendario de eventos


  • Please log in to reply
5 replies to this topic

#1 algunmae

algunmae

    Member

  • Miembros
  • PipPip
  • 31 posts

Posted 29 March 2013 - 10:04 PM

Hola como van.

Hace varios dias me puse a ver el 17 y 18 del calendario de eventos pero en el 18 ya me tira un error.


1. no guarda o hace la funcion del crear evento, que cuando presione el boton se guarde todo

2. cuando creo el $_post me tira un ligero error



De paso no se si el tema ya estaba jaja si estaba me disculpo y gracias espero me puedan ayudar


este es el codigo de crear evento
<?php
require_once("class.php");

if(isset($_POST) and $_POST["grabar"]=="si"){
    $tra= new Trabajo();
    $tra->insert_evento();
    //print_r($_POST["grabar"]);
    exit;
   
}   

?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script language="javascript" type="text/javascript" src="js/funciones.js"> </script>
  <link href="css/calendario.css" type="text/css" rel="stylesheet">
<script src="js/calendar.js" type="text/javascript"></script>
<script src="js/calendar-es.js" type="text/javascript"></script>
<script src="js/calendar-setup.js" type="text/javascript"></script>
         
  </head>
 

<body onload="limpiar();">

<form name="form" method="post" action="">
    <h2> Crear Nuevo Evento </h2>
    Titulo: <input type="Text" name="Titulo">
        <br>
    Descripcion:<textarea name="Descripcion" cols="30" rows="5"></textarea>
    <br>
        Inicio:<input type="Text" name="Inicio">
              <br>
        Termino:<input type="Text" name="termino">
        <br>
           
           
        Fecha:
       
        <input type="text" name="fecha" id="ingreso" value="<?php echo date("Y-m-d");?>" readonly="readonly"/>
<img src="ima/calendario.png" width="16" height="16" border="0" title="Fecha Inicial" id="lanzador">
<!-- script que define y configura el calendario-->
<script type="text/javascript">
  Calendar.setup({
    inputField    :    "ingreso",    // id del campo de texto
    ifFormat    :    "%Y-%m-%d",    // formato de la fecha que se escriba en el campo de texto
    button    :    "lanzador"    // el id del bot�n que lanzar� el calendario
});
</script>




        <hr>
            <input type="Button" value="Volver" title="Volver" onclick="window.location='index.php';">
         
            &nbsp;&nbsp;||&nbsp;&nbsp;
           
                <input type="hidden" name="grabar" value="si">
    <input type="button" value="Crear evento" title="Crear evento" onclick='validar();'>

</form>
</body>
</html>


este es el de class.php

<?php

class Trabajo {

private $eventos= array();

public function get_calendario(){

$mysqli = new MySQLi("localhost","root","");
$mysqli->query("SET NAMES'UTF8'");
$mysqli-> select_db("calendarioeventos");
                $fecha=date("Y-m-d");
//$Fecha= date("Y-m-d");
$res= $mysqli -> query ("call listar_calendario('$fecha');");

              // $res= $mysqli -> query ("call listar_calendario('$Fecha')");

while($reg=$res->fetch_array()){

$this->eventos[]= $reg;


}
return $this->eventos;
 
}
               
        public function insert_evento(){
            $mysqli = new MySQLi("localhost","root","");
$mysqli->query("SET NAMES'UTF8'");
$mysqli-> select_db("calendarioeventos");
           
        $titulo= $_POST["Titulo"];
        $descripcion=$_POST["Descripcion"];
        $inicio=$_POST["Inicio"];
        $termino=$_POST["Termino"];
        $fe=$_POST["fecha"];
        $res=$mysqli->query("call crear_evento('$titulo','$descripcion','$inicio','$termino','$fe');");
        echo"
            <script type='text/javascript'>
            alert('Evento creado correctamente');
            window.location='index.php';
            </script>
            ";

        }

}


?>






em todo sirve menos eso ese boton , muchas gracias de ante mano
  • 0

#2 enecumene

enecumene

    Webmaster

  • Administrador
  • 7419 posts
  • LocationRepública Dominicana

Posted 30 March 2013 - 05:51 AM

Pues lo siguiente está mal:

<?php
require_once("class.php");

if(isset($_POST) and $_POST["grabar"]=="si"){
    $tra= new Trabajo();
    $tra->insert_evento();
    //print_r($_POST["grabar"]);
    exit;
 
}


Debiera ser:

<?php
require_once("class.php");

if(isset($_POST["grabar"]) && $_POST["grabar"] == "si"){
    $tra= new Trabajo();
    $tra->insert_evento();
    //print_r($_POST["grabar"]);
    exit;
 
}
   

El operador and no es válido en PHP, su equivalencia es el "&&" y el OR por si las moscas es el "||". Nótese que isset($_POST) no hace nada, debes indicar el parámetro, así, isset($_POST["grabar"]).

Saludos.
  • 0

#3 algunmae

algunmae

    Member

  • Miembros
  • PipPip
  • 31 posts

Posted 30 March 2013 - 12:36 PM

Vale, eso lo cambie gracias  :) , pero aun el botón de crear evento no realiza nada solo el validar, sigue sin enviar los datos.
  • 0

#4 enecumene

enecumene

    Webmaster

  • Administrador
  • 7419 posts
  • LocationRepública Dominicana

Posted 30 March 2013 - 01:13 PM

Veamos, prueba con esta modificación:

public function insert_evento(){
$mysqli = new MySQLi("localhost","root","","calendarioeventos");

if (mysqli_connect_errno()) {
printf("Falló connección: %s\n", mysqli_connect_error());
exit();
}
           
$query = $mysqli->prepare("INSERT INTO Tabla VALUES (?, ?, ?, ?, ?)");
$query->bind_param('ssssd', $titulo, $descripcion, $inicio, $termino, $fe);

    $titulo= $_POST["Titulo"];
    $descripcion=$_POST["Descripcion"];
    $inicio=$_POST["Inicio"];
    $termino=$_POST["Termino"];
    $fe=$_POST["fecha"];

$query->execute();
   
    echo"
<script type='text/javascript'>
alert('Evento creado correctamente');
window.location='index.php';
</script>";

$query->close();

}


Aquí sólo tienes que cambiar el nombre de la tabla en el prepare, más info sobre los bind_param

Saludos.
  • 0

#5 algunmae

algunmae

    Member

  • Miembros
  • PipPip
  • 31 posts

Posted 30 March 2013 - 02:27 PM

Vale, lo hice y ahora no hace ni lo de validar, voy a ver el tutorial otra vez puede que algo me faltó.Cualquier cosa la posteo Gracias
  • 0

#6 enecumene

enecumene

    Webmaster

  • Administrador
  • 7419 posts
  • LocationRepública Dominicana

Posted 30 March 2013 - 04:21 PM

Si te sirve de algo prueba con PHPHint.org para analizar tu código PHP y así determinar s hay algún error
  • 0




IP.Board spam blocked by CleanTalk.