Foros del Web » Programando para Internet » PHP »

Que error le encontrais?

Estas en el tema de Que error le encontrais? en el foro de PHP en Foros del Web. hola, buenos dias, estoy trabajando en un formulario para un hosting y ahora me ha surgido este error: Código: Fatal error: Call to undefined function ...
  #1 (permalink)  
Antiguo 07/06/2007, 09:30
 
Fecha de Ingreso: septiembre-2006
Mensajes: 81
Antigüedad: 17 años, 7 meses
Puntos: 5
Exclamación Que error le encontrais?

hola, buenos dias, estoy trabajando en un formulario para un hosting y ahora me ha surgido este error:
Código:
Fatal error: Call to undefined function enviar() in C:\Archivos de programa\Xampp\xampp\htdocs\Nukeet\modules\Hosting_Gratis\index.php on line 108
no se por que con llama a la función enviar.
aquí esta el código:
Código PHP:
<?php

if(!defined('NUKE_ET')) {
    
Header("Location: ../../error.php?op=e403");
    die();
}
require_once(
"mainfile.php");
$module_name basename(dirname(__FILE__));
$index 1
function 
principal(){
global 
$module_name,$db,$prefix;
$sql "SELECT * FROM `formulario` where id = - 1";
$result $db ->sql_query($sql);
include(
'header.php');
OpenTable();
////////FORMULARIO////////////////
echo '<tr>';
    echo 
'<td height="160"><p style="margin-left:10px;color:red">';
    echo 
'<center>';
    echo 
'<form method="post" action="modules.php?name='.$module_name.'&op=enviar">';
  echo 
'<p>&nbsp;</p><br><table align="center" border="0" cellspacing="0" cellpadding="0">';
  echo 
'<h3>Hemos recivido ';
  while (
$row $db->sql_fetchrow($result)) {
$vezes $row["vezes"];
  echo 
$vezes;
  echo 
$vezes1;
  echo 
'/20 altas hoy.<h3>';
  echo 
'<center>';
    echo 
'<tr>';
   echo 
'   <td align="right">Nombre:</td>';
   echo 
'   <td ><input name="Usuario" type="text" id="Nombre"><br></td>';
  echo 
'  </tr>';
  echo 
'  <tr>';
  echo 
'    <td align="right">Password:</td>';
  echo 
'    <td><input name="Password" type="password" id="pass1"><br></td>';
  echo 
'  </tr>';
   echo 
' <tr>';
   echo 
'   <td align="right">Email:</td>';
  echo 
'    <td><input name="Email" type="text" id="Email"><br></td>';
  echo 
'  </tr>';
echo 
' <td align="right">Codigo de confirmación:</td>';
echo 
'<td valign="middle"><img src="modules/Hosting_Gratis/images/palabras.php"><br><input name="codigo" type="text" id="codigo"></td>';
echo 
'</tr>';
    echo 
'<tr>';
      echo 
'<td colspan="2"><div align="center">';
        echo 
'<br><input type="submit" value="Crear Hosting!">';
      echo 
'</div></td>';
    echo 
'</tr>';
    echo 
'</center>';
  echo 
'</table>';
  echo 
'</form>';
/////////////FIN FORMULARIO/////////////
CloseTable();
include(
'footer.php');
}
///////////////////////////////////////////
///////////////////////////////////////////
///////////////////////////////////////////
function enviar(){

global 
$module_name,$db,$prefix;
include(
"header.php");
OpenTable();
//////////////////////////////////////////////////////////
$data=date("Y-m-d");
//////////////////////////////////////////////////////////
$sql 'SELECT * FROM `formulario` where id = - 1';
$result $db ->sql_query($sql);
while (
$row $db->sql_fetchrow($result)) {
//////////////////////////////////////////////////////////
echo '<tr>';
echo 
'<td height="160"><p style="margin-left:10px;color:red">';
echo 
'<center>';
$vezes $row["vezes"];
if (
$vezes >=6){
//////////////////////////////////////////////////////////////////////////
}else{
$vezes1 $row["vezes"]+1;
include(
"crear.php");
echo 
"Altas automaticas!! Dandole al boton Crear Hosting se creara automaticamente solo debe esperar unos segundos.... ";
$db->sql_query("UPDATE formulario SET vezes=".$vezes1." WHERE id='-1'");
CloseTable();
}}}
//////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////
echo '</tr>';
echo 
'</center>';
include(
'footer.php');
}


switch(
$op) {
default:
principal();
break;

case 
"enviar":
enviar();
break;
}

?>
  #2 (permalink)  
Antiguo 07/06/2007, 09:37
 
Fecha de Ingreso: mayo-2007
Mensajes: 20
Antigüedad: 16 años, 11 meses
Puntos: 1
Re: Que error le encontrais?

el esqueleto del programa esta mal:

tendria que ser el siguiente:

principal(){
definición de la función principal.
llamada a la función enviar();
}
enviar(){
definición de la función enviar.
}

saludos
  #3 (permalink)  
Antiguo 07/06/2007, 09:41
 
Fecha de Ingreso: septiembre-2006
Mensajes: 81
Antigüedad: 17 años, 7 meses
Puntos: 5
Re: Que error le encontrais?

Como?? no lo he entendido mucho, soy bastante nuevo con esto, estoy haciendo una cosa un poco complicada, necesito hacer que el formulario se cierre cuando el numero de envíos supere los 20 envíos y que se abra al día siguiente.

Salu2
y gracias
  #4 (permalink)  
Antiguo 07/06/2007, 09:49
 
Fecha de Ingreso: mayo-2007
Mensajes: 20
Antigüedad: 16 años, 11 meses
Puntos: 1
Re: Que error le encontrais?

la variable $op de donde sale? donde esta ubicado el switch?
  #5 (permalink)  
Antiguo 07/06/2007, 09:56
 
Fecha de Ingreso: septiembre-2006
Mensajes: 81
Antigüedad: 17 años, 7 meses
Puntos: 5
Re: Que error le encontrais?

La dirección de la función enviar es archivo.php&op=enviar pero esto lo estoy haciendo para nuke-et, la llamada a modules.php?name='.$module_name.'&op=enviar
tendría que enviar a la función enviar. He echo esto usando un manual de la web de truzone.

lo que quiero es que para enviar el formulario se use la función enviar mediante el switch.

Salu2
  #6 (permalink)  
Antiguo 07/06/2007, 10:00
 
Fecha de Ingreso: mayo-2007
Mensajes: 20
Antigüedad: 16 años, 11 meses
Puntos: 1
Re: Que error le encontrais?

Segun el error, no encuentra la función enviar en el archivo index.php

Tienes los includes puestos?
  #7 (permalink)  
Antiguo 07/06/2007, 10:03
 
Fecha de Ingreso: septiembre-2006
Mensajes: 81
Antigüedad: 17 años, 7 meses
Puntos: 5
Re: Que error le encontrais?

que includes??
  #8 (permalink)  
Antiguo 07/06/2007, 10:06
 
Fecha de Ingreso: mayo-2007
Mensajes: 20
Antigüedad: 16 años, 11 meses
Puntos: 1
Re: Que error le encontrais?

segun esto, ejecutas la funcion enviar des de los archivos: archivo.php y modules.php, estos dos archivos tendrian que tener un include a lestilo:

include ('archivo donde esta la función enviar');
  #9 (permalink)  
Antiguo 07/06/2007, 12:06
 
Fecha de Ingreso: septiembre-2006
Mensajes: 81
Antigüedad: 17 años, 7 meses
Puntos: 5
Re: Que error le encontrais?

La función enviar esta dentro del mismo archivo index.php y el modules.php ya lo interpreta el, es un modulo nuevo en un CMS prefabricado. (nuke-et en este caso)

Salu2
  #10 (permalink)  
Antiguo 07/06/2007, 13:54
 
Fecha de Ingreso: septiembre-2006
Mensajes: 81
Antigüedad: 17 años, 7 meses
Puntos: 5
Re: Que error le encontrais?

Bueno seguimos con la tanda de errores sin ninguna explicación según mi, bueno he conseguido lo de antes pero ahora me encuentro que no descodifica bien una cookie de un codigo de verificación.

a ver si podeis encontrar algun error:
index.php
Código PHP:
<?php
/************************************************************************/
/* NUKE ET: Modificacion del PHP-Nuke                                   */
/* ==================================                                   */
/*                                                                      */
/* Modulo creado con el conversor HTML a NukeET                                 */
/*                                                                      */
/* Copyright (c) 2004 por Truzone                                                */
/* http://www.truzone.org                                               */
/************************************************************************/
header('Content-Type: text/html; charset=ISO-8859-1');
if(!
defined('NUKE_ET')) {
    
Header("Location: ../../error.php?op=e403");
    die();
}
if(
$_POST['username'] == '' $_POST['mail'] == '' $_POST['password'] == '' $_POST['codigo'] == ''){

require_once(
"mainfile.php");
$module_name basename(dirname(__FILE__));
$index 1

global 
$module_name,$db,$prefix;
$sql "SELECT * FROM `formulario` where id = - 1";
$result $db ->sql_query($sql);
include(
'header.php');
OpenTable();
////////FORMULARIO////////////////
echo '<tr>';
    echo 
'<td height="160"><p style="margin-left:10px;color:red">';
    echo 
'<center>';
    echo 
'<form method="post" action="modules.php?name='.$module_name.'">';
  echo 
'<p>&nbsp;</p><br><table align="center" border="0" cellspacing="0" cellpadding="0">';
  echo 
'<h3>Hemos recivido ';
  while (
$row $db->sql_fetchrow($result)) {
$vezes $row["vezes"];
  echo 
$vezes;
  echo 
$vezes1;
  }
  echo 
'/20 altas hoy.<h3>';
  echo 
'<center>';
    echo 
'<tr>';
   echo 
'   <td align="right">Nombre:</td>';
   echo 
'   <td ><input name="username" type="text" id="username"><br></td>';
  echo 
'  </tr>';
  echo 
'  <tr>';
  echo 
'    <td align="right">Contraseña</td>';
  echo 
'    <td><input name="password" type="password" id="password"><br></td>';
  echo 
'  </tr>';
   echo 
' <tr>';
   echo 
'   <td align="right">Email:</td>';
  echo 
'    <td><input name="mail" type="text" id="mail"><br></td>';
  echo 
'  </tr>';
echo 
' <td align="right">Codigo de confirmación:</td>';
echo 
'<td valign="middle"><img src="modules/Hosting_Gratis/images/palabras.php"><br><input name="codigo" type="text" id="codigo"></td>';
echo 
'</tr>';
    echo 
'<tr>';
      echo 
'<td colspan="2"><div align="center">';
        echo 
'<br><input type="submit" value="Crear Hosting!">';
      echo 
'</div></td>';
    echo 
'</tr>';
    echo 
'</center>';
  echo 
'</table>';
  echo 
'</form>';
/////////////FIN FORMULARIO/////////////
CloseTable();
include(
'footer.php');
}else{
///////////////////////////////////////////
///////////////////////////////////////////
///////////////////////////////////////////

include("header.php");
//////////////////////////////////////////////////////////
$data=date("Y-m-d");
//////////////////////////////////////////////////////////
$sql 'SELECT * FROM `formulario` where id = - 1';
$result $db ->sql_query($sql);
while (
$row $db->sql_fetchrow($result)) {
//////////////////////////////////////////////////////////
OpenTable();
echo 
'<tr>';
echo 
'<td height="160"><p style="margin-left:10px;color:red">';
echo 
'<center>';
$vezes $row["vezes"];
if (
$vezes >=20){
echo 
"<h1>Lo siento, por hoy ya no abran mas altas, vuelve mañana. Gracias</h1>";
}else{
//////////////////////////VALIDACIÓN CODIGO///////////////////////////////
$codigo=$_POST['codigo'];
#; Función para validar la cookie -

    
function valid_cookie($codigo){
            global 
$HTTP_COOKIE_VARS;
                
$cookie base64_decode($_COOKIE[codigoseguridad]);
                if(
trim($cookie)==trim($codigo)){
                    return 
true;
                }
                    return 
false;
    }
///////////////////////////VALIDACIÓN SI/NO///////////////////////////////
if(valid_cookie($codigo)){
//////////////////////////////////////////////////////////////////////////
$vezes1 $row["vezes"]+1;
include(
'modules/Hosting_Gratis/crear.php');
$db->sql_query("UPDATE formulario SET vezes=".$vezes1." WHERE id='-1'");
}    else    {
echo 
"<h1>El codigo de confirmación no es correcto</h1>";
}
}
CloseTable();
}
//////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////
echo '</tr>';
echo 
'</center>';
include(
'footer.php');
}


?>
el archivo palabras.php(imagen) lo pongo en otra respuesta, aquí no me cabe.
  #11 (permalink)  
Antiguo 07/06/2007, 13:54
 
Fecha de Ingreso: septiembre-2006
Mensajes: 81
Antigüedad: 17 años, 7 meses
Puntos: 5
Re: Que error le encontrais?

palabras.php (imagen)

Código PHP:
<?php
/*
===========================================================*
        My-Img by mandm.
        URL : http://www.mandm.org.mx
        LINK PERMANENTE DEL SCRIPT : http://www.mandm.org.mx/archivo/8/my_words.mandm?
        FUENTES BITMAP PROVEHIDAS POR : http://www.widgnet.com
===========================================================*
*/

#;
#;            CONFIGURACIÓN :
#;
#; Para crear una imágen llame a la función: create_img();
#; Para validar un texto enviado por el usuario use: valid_cookie();



            #; Logitud máxima de caracteres
            
$maxLength 6;
            
            
#; Imágen de fondo, el tamaño de la imágen creada
            #; será el mismo que el de éste archivo.
            
$base_img "base.gif";            
            
            
#; Enviar cookie para validar el texto de la imágen.
            #; El contenido de la cookie se decodificará mediante base64
            #; Para decodificar el contenido haga :
            #; base64_decode($_COOKIE[NOMBRE_DE_LA_COOKIE]);
            #; O use la función 'valid_cookie($_COOKIE[NOMBRE_DE_LA_COOKIE])' que viene en este script
            #; Esta función devuelve un valor Booleano 
            #; ( true ) si es correcto, ( false ) en caso contrario.
            
$sendCookie true;
            
            
            
#; Nombre de la cookie ( solo si $sendCookie = true )
            
$nameCookie "codigoseguridad";
            
            
            
#; Alineación horizontal (left[izquierda],right[derecha],center[centro])
            #; O seleccione su ubicación exacta horizontal en número
            
$align "center";
            
            
            
#; Alineación vertical (middle[centro],top[arriba],bottom[abajo])
            #; O seleccione su ubicación exacta vertical en número
            
$valign "middle";
            
            
            
#; Cargar fuente desde archivo ( opcional ) [ .. la fuente debe ser compatible con bitmap ]
            
$trueType true;
            
            
            
#; (solo sí $trueType=true) nombre del archivo de imágen
            
$srcFont "fuentes/fuente_4.gdf";
            
            
            
#; Tamaño de la fuente
            
$fontSize 12;
            
            
            
#; true si el texto debe cargarse del archivo 'palabras.txt' aletoriamente,
            #; false para una cadena de caracteres aletoria.
            
$isWord false;
                        
            
            
#; Colores RGB  $colorFont = array(255,255,255);
            #; O $colorFont = 'rand'; si desea que cada vez la cadena sea de distinto color.
            
$colorFont 'rand';
            
#;                FIN CONFIGURACIÓN

        
        #; Función para validar la cookie -
    
function valid_cookie($texto){
            global 
$HTTP_COOKIE_VARS;
                
$cookie base64_decode($HTTP_COOKIE_VARS[$GLOBALS["codigoseguridad"]]);
                if(
trim($cookie)==trim($texto)){
                    return 
true;
                }
                    return 
false;
    }
        
        
#; Verificando los datos de configuración
    
function check_info(){
            
            if(
$GLOBALS['isWord'] == true)
            {
                if(
file_exists("palabras.txt"))
                {
                    
$nameFile "palabras.txt";
                            
$file file($nameFile);
                    
$numL count($file);
                    if(
$numL 1){
                        
$textImg $file[rand(0,$numL)];
                    }    else    {
                        
$textImg create_rand();
                    }
                }    else    {
                    
$textImg create_rand();
                }
            }    else    {
                
$textImg create_rand();
            }
                    
$return = array();
                    
        
$return['texto'] = $textImg;
            
        if(
$GLOBALS['sendCookie'] == true)
        {
                    
$return['base_texto'] = base64_encode($return['texto']);
        }
            
            if(
$GLOBALS['trueType'] == true)
            {
                if(!
file_exists($GLOBALS['srcFont'])){
                    exit(
"¡ Error ! .... el archivo {$GLOBALS[srcFont]} no existe.");
                }    else    {
                    if(! (@
imageloadfont($GLOBALS['srcFont'])) ){
                    exit(
"¡ Error ! .... el archivo {$GLOBALS[srcFont]} no tiene una extención adecuada.");
                    }    else    {
                        
$return['font'] = $GLOBALS['srcFont'];
                        
$return['size'] = $GLOBALS['fontSize'];
                    }
                }
            }    else    {
                
$return['size'] = 5;
            }
                        
            if(
is_array($GLOBALS['colorFont']))
            {
                    if(
sizeof($GLOBALS['colorFont']) < 3){
                        
$return['fcolor'] = array(0,0,0);
                    }    else    {
                        
$return['fcolor'] = array(
                                            
$GLOBALS['colorFont'][0],
                                            
$GLOBALS['colorFont'][1],
                                            
$GLOBALS['colorFont'][2]
                                            );
                    }
            }    elseif(
strtolower(trim($GLOBALS['colorFont'])) == 'rand'){
                
$maxX 0;
                
$maxX 255;
                
                
$return['fcolor'] = array(
                                                
rand($maxX,$maxC),
                                                
rand($maxX,$maxC),
                                                
rand($maxX,$maxC)
                                    );
            }    else    {
                        
$return['fcolor'] = array(0,0,0);
            }
                        
$return['w'] = $GLOBALS['ImgWidth'];
                        
$return['h'] = $GLOBALS['ImgHeight'];
                        
                return 
$return;
    }
        
        
#; Random de letras
    
function create_rand(){
                    global 
$maxLength;
            
            
$uid md5uniqidrand(0,time()) ) );
            
                if(
strlen($uid) > $maxLength){
                    
$uid substr($uid,0,$maxLength);
                }
            
            return 
$uid;
    }
        
        
#;    Crear la imágen
    
function create_img(){
                
                global 
$base_img,$align,$valign;
                
                
$i check_info();
                
$extencion strtolower(array_pop(explode('.',$base_img)));
                
$arriba strtolower($valign);
                
$alinear strtolower($align);
                
$tamanio getimagesize($base_img);
                
                    if(
$extencion == 'gif'){
                
$im imagecreatefromgif($base_img);
                    }    else
                    if(
$extencion == 'png'){
                
$im imagecreatefrompng($base_img);
                    }    else
                    if(
$extencion == 'jpg'){
                
$im imagecreatefromjpeg($base_img);
                    }    else
                    if(
$extencion == 'bmp'){
                
$im imagecreatefromwbmp($base_img);
                    }    else    {
                        die(
'Extencion de imágen no válida');
                    }
                
                if(isset(
$i['font'])){
                    
$font imageloadfont($i['font']);
                    
$fontw imagefontwidth($font);
                    
$fonth imagefontheight($font);
                }    else    {
                    
$font $i['size'];
                    
$fontw imagefontwidth($i['size']);
                    
$fonth imagefontheight($i['size']);
                }
            
            if(
$arriba == 'top'){
                
$ty 0;
            }    else
            if(
$arriba == 'bottom'){
                
$ty = ( imagesy($im) - ($fonth+1) );
            }    else
            if(
$arriba == 'middle'){
                
$ty = ( imagesy$im ) / ) - ( $fonth/);
            }    else
            if(
is_numeric($arriba)){
                
$ty $arriba;
            }    else    {
                
$ty $fonth;
            }
            if(
strlen($i['texto']) > $GLOBALS['maxLength']){
                
$i['texto'] = substr($i['texto'],0,$GLOBALS['maxLength']);
            }
            if(
$alinear == 'left'){
                
$tx 0;
            }    else
            if(
$alinear == 'center'){
                
$tx = ( imagesx($im) / ) - ( ($fontw*strlen(trim($i['texto'])))/);
            }    else
            if(
$alinear == 'right'){
                
$tx imagesx($im) - ($fontw*(strlen(trim($i['texto']))));
            }    else
            if(
is_numeric($alinear)){
                
$ty $alinear;
            }    else    {
                
$ty $fontw;
            }
            
                
$new_im imagecreatetruecolor($tamanio[0],
                                                
$tamanio[1]
                        );
                
imagecopyresampled($new_im,
                                    
$im,
                                    
0,0,0,0,
                                    
$tamanio[0],
                                    
$tamanio[1],
                                    
imagesx($im),
                                    
imagesy($im)
                );
                    
$font_color imagecolorallocate($new_im,$i['fcolor'][0],$i['fcolor'][1],$i['fcolor'][2]);
                
                
imagestring($new_im,$font,$tx,$ty,$i['texto'],$font_color);
                
                if(
$GLOBALS['sendCookie']==true){
                    
setcookie($GLOBALS['nameCookie'],base64_encode($i['texto']));
                }
                
                if(
$extencion == 'gif'){
                
header('Content-type: image/gif');
                
imagegif($new_im);
                    }    else
                    if(
$extencion == 'png'){
                
header('Content-type: image/png');
                
imagepng($new_im);
                    }    else
                    if(
$extencion == 'jpg'){
                
header('Content-type: image/jpeg');
                
imagejpeg($new_im,"",100);
                    }    else
                    if(
$extencion == 'bmp'){
                
header('Content-type: image/wbmp');
                
imagewbmp($new_im,"");
                    }
                        
imagedestroy($im);
                        
imagedestroy($new_im);
                                            
                return 
true;
    }
            
#;Crear la imágen->
                    
create_img();
            
#; Validar cookie->
                #;    if(valid_cookie($texto_enviado_por_el_usuario)){
                #;        echo "Escribiste correctamente el texto de la imágen";
                #;    }    else    {
                #;        echo "NO escribiste  el texto de la imágen.";
                #;    }
?>
El de palabras.php me lo bajé de alguna web.

Salu2 y muchas gracias
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 03:39.