Foros del Web » Programando para Internet » PHP »

problema con Call to undefined

Estas en el tema de problema con Call to undefined en el foro de PHP en Foros del Web. hola a todos es que tengo este problemita Fatal error: Call to undefined function modifica() in C:\AppServ\www\ejemplo\cambiar_vencimiento.php on line 6 y este es el codigo ...
  #1 (permalink)  
Antiguo 25/01/2012, 20:24
(Desactivado)
 
Fecha de Ingreso: septiembre-2010
Mensajes: 498
Antigüedad: 13 años, 7 meses
Puntos: 5
problema con Call to undefined

hola a todos es que tengo este problemita

Fatal error: Call to undefined function modifica() in C:\AppServ\www\ejemplo\cambiar_vencimiento.php on line 6

y este es el codigo

Código PHP:
Ver original
  1. <?php
  2. if ($_ConectaBD) {
  3. if (isset($_POST["action"]) and $_POST["action"] == "Cambiar") {
  4.     $status  = modifica($_POST['usuario'], $_POST['fecha']);
  5. }
  6. function modifica($usuario, $fecha) {              
  7.     conectar();  
  8.     mysql_query("UPDATE usuarios SET Fecha='".$fecha."' WHERE usuario='".$usuario."") or die ("Error deleting user");
  9.     desconectar();
  10.     return("Corregida la decha del usuario.");
  11.  }
  12. }
  13. ?>
  14. <script src="src/js/jscal2.js"></script>
  15. <script src="src/js/lang/en.js"></script>
  16. <link rel="stylesheet" type="text/css" href="src/css/jscal2.css" />
  17. <link rel="stylesheet" type="text/css" href="src/css/border-radius.css" />
  18. <link rel="stylesheet" type="text/css" href="src/css/steel/steel.css" />
  19. <table cellSpacing=0 cellPadding=0 width="540" border=0 valign="top">
  20.   <tr>
  21.     <td align="center"><span class="style11CVerde"><b>Correguir fecha de vencimiento</b></span></td>
  22.   </tr>
  23.   <tr>
  24.     <td><hr></td>
  25.   </tr>
  26.   <tr>
  27.     <td>
  28. <form name="form1" id="form1" action="" method="post">
  29.     <label style="margin-right:34px">
  30.         Usuario:
  31.     </label>
  32.     <input type="text" name="usuario" id="usuario" value="" /><br />
  33.     <label>
  34.         Fecha nueva:
  35.     </label>
  36.    <input name="fecha" readonly  type="text" id="fecha" value="" size="10"/>
  37.     <img src="images/calendar_date.png" name="trigger" width="24" height="24" id="trigger" />
  38.     <script type="text/javascript">//<![CDATA[
  39.       Calendar.setup({
  40.         inputField : "fecha",
  41.         trigger    : "trigger",
  42.         onSelect   : function() { this.hide() },
  43.         dateFormat : "%Y-%m-%d"
  44.       });
  45.     //]]></script><br />
  46.     <input type="submit" name="action" value="Cambiar" class="submit"/>
  47. </form>
  48. <br />
  49. <?php
  50. if ($status <> "") {
  51.     print("<br><font color=\"#347C2C\">".$status."</font><br><br>");
  52. }
  53. ?>
  54.     </td>
  55.   </tr>
  56. </table>

por que me tiraria ese eror en la linia 6 gracias
  #2 (permalink)  
Antiguo 25/01/2012, 20:54
Avatar de geq
geq
 
Fecha de Ingreso: agosto-2006
Ubicación: Rosario
Mensajes: 655
Antigüedad: 17 años, 8 meses
Puntos: 22
Respuesta: problema con Call to undefined

Hola, probá declarar la función fuera del if.

Saludos.
  #3 (permalink)  
Antiguo 25/01/2012, 21:06
(Desactivado)
 
Fecha de Ingreso: septiembre-2010
Mensajes: 498
Antigüedad: 13 años, 7 meses
Puntos: 5
Respuesta: problema con Call to undefined

es que anda fuera del if anda solo
  #4 (permalink)  
Antiguo 25/01/2012, 21:13
Avatar de geq
geq
 
Fecha de Ingreso: agosto-2006
Ubicación: Rosario
Mensajes: 655
Antigüedad: 17 años, 8 meses
Puntos: 22
Respuesta: problema con Call to undefined

Me refiero a esto:

Código PHP:
if ($_ConectaBD) {
  if(isset(
$_POST["action"]) and $_POST["action"] == "Cambiar") {
    
$status  modifica($_POST['usuario'], $_POST['fecha']);
  }
}

function 
modifica($usuario$fecha) {               

    
conectar();  

    
mysql_query("UPDATE usuarios SET Fecha='".$fecha."' WHERE usuario='".$usuario."") or die ("Error deleting user");

    
desconectar();

    return(
"Corregida la decha del usuario.");


Luego ese if se podría resumir en una sola línea.

Saludos.
  #5 (permalink)  
Antiguo 25/01/2012, 21:15
(Desactivado)
 
Fecha de Ingreso: septiembre-2010
Mensajes: 498
Antigüedad: 13 años, 7 meses
Puntos: 5
Respuesta: problema con Call to undefined

es que si lo9 hago asi no conectaria a la base de datos ya que uso esto para conectar

Código PHP:
Ver original
  1. if ($_ConectaBD) {
  2.  
  3. }
  #6 (permalink)  
Antiguo 25/01/2012, 21:26
Avatar de geq
geq
 
Fecha de Ingreso: agosto-2006
Ubicación: Rosario
Mensajes: 655
Antigüedad: 17 años, 8 meses
Puntos: 22
Respuesta: problema con Call to undefined

Lo que pasa en la función es "relativo", por decirlo de alguna manera, al momento en que es llamada. Por lo tanto si llamás a la función luego de conectar a la db, va a estar conectado durante la ejecución de la función también.

Es que al definir una función, el código de la misma no se ejecuta. Se ejecuta recién cuando la usás. Y las funciones no deben definirse dentro de ninguna otra estructura.

Espero que se entienda, saludos.
  #7 (permalink)  
Antiguo 25/01/2012, 21:30
(Desactivado)
 
Fecha de Ingreso: septiembre-2010
Mensajes: 498
Antigüedad: 13 años, 7 meses
Puntos: 5
Respuesta: problema con Call to undefined

y que me refieres poder usar para poder hacer lo que quiere
  #8 (permalink)  
Antiguo 25/01/2012, 21:34
Avatar de Ribon  
Fecha de Ingreso: septiembre-2010
Ubicación: El firmamento
Mensajes: 487
Antigüedad: 13 años, 7 meses
Puntos: 91
Respuesta: problema con Call to undefined

prueba a declarar la función antes de llamarla, en tu caso la llamas en la linea 4

prueba con este codigo

Código PHP:
Ver original
  1. if ($_ConectaBD) {
  2. function modifica($usuario, $fecha) {              
  3.     conectar();  
  4.     mysql_query("UPDATE usuarios SET Fecha='".$fecha."' WHERE usuario='".$usuario."") or die ("Error deleting user");
  5.     desconectar();
  6.     return("Corregida la decha del usuario.");
  7.  }
  8.  
  9. if (isset($_POST["action"]) and $_POST["action"] == "Cambiar") {
  10.     $status  = modifica($_POST['usuario'], $_POST['fecha']);
  11. }
  12.  
  13. }

Saludos

PD: Aplica técnicas anti SQL injection xD!
__________________
Utilice el Highlight para mostrar código, mis ojos se lo agradecerán :)
qué es esto? :O -> http://i48.tinypic.com/5x3kzs.png
Ya sabes :)

Última edición por Ribon; 25/01/2012 a las 21:39
  #9 (permalink)  
Antiguo 25/01/2012, 22:17
(Desactivado)
 
Fecha de Ingreso: septiembre-2010
Mensajes: 498
Antigüedad: 13 años, 7 meses
Puntos: 5
Respuesta: problema con Call to undefined

Cita:
Iniciado por Ribon Ver Mensaje
prueba a declarar la función antes de llamarla, en tu caso la llamas en la linea 4

prueba con este codigo

Código PHP:
Ver original
  1. if ($_ConectaBD) {
  2. function modifica($usuario, $fecha) {              
  3.     conectar();  
  4.     mysql_query("UPDATE usuarios SET Fecha='".$fecha."' WHERE usuario='".$usuario."") or die ("Error deleting user");
  5.     desconectar();
  6.     return("Corregida la decha del usuario.");
  7.  }
  8.  
  9. if (isset($_POST["action"]) and $_POST["action"] == "Cambiar") {
  10.     $status  = modifica($_POST['usuario'], $_POST['fecha']);
  11. }
  12.  
  13. }

Saludos

PD: Aplica técnicas anti SQL injection xD!
Muchas gracias amigo me funciono

Etiquetas: call, mysql, undefined, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:24.