Foros del Web » Programando para Internet » PHP »

Ayuda con script complicado

Estas en el tema de Ayuda con script complicado en el foro de PHP en Foros del Web. Hola, muchachos, no soy programador asi que necesito una mano por que este script esta muuy lejos de mis capacidades Este script esta diseñado para ...
  #1 (permalink)  
Antiguo 19/08/2010, 23:26
 
Fecha de Ingreso: febrero-2006
Mensajes: 217
Antigüedad: 18 años, 2 meses
Puntos: 0
Ayuda con script complicado

Hola, muchachos, no soy programador asi que necesito una mano por que este script esta muuy lejos de mis capacidades

Este script esta diseñado para procesar un form que tiene un monton de valores, por lo que quiero separarlo. esto lo hago en una plantilla que usa smarty, y a traves de un foreach, pero hasta ahí llega mi genialidad

Dividí el form en paginas, ej: pagina1 para editar los datos de ingreso, como mail usuario y contraseña. Y en la pagina2 el nombre apellidos y telefonos.

Pero si quiero editar los valores de la pagina2, este script arroja un error porque los valores de la pagina1, que son obligatorios (o requeridos) no se han enviado, y por supuesto que no se envian porque no están incluidos en la pagina2

Como puedo hacer que compruebe los datos requeridos incluidos en cada pagina, y no los de otra? o sea, que compruebe solo, y solo si el valor a sido enviado?.

este es el codigo:
Código PHP:
$defnsbyname $this->GetPropertyDefns();


// Get member groups
$groups $this->GetMemberGroupsArray($uid);

// Get group property relations into a union.
$properties = array();
{
  
$tmp = array();
  foreach( 
$groups as $onegroup )
    {
      
$proprelations $this->GetGroupPropertyRelations$onegroup['groupid'] );
      
$tmp RRUtils::array_merge_by_name_required$tmp$proprelations );
      
uasort$tmp, array('cge_array','compare_elements_by_sortorder_key') );
    }
  
$properties cge_array::to_hash($tmp,'name');
}

// do validation of the fields.
foreach( $properties as $propname => $prop )
{
  
$fldtype $defnsbyname[$propname]['type'];
  
$required = ($prop['required'] == 2);
  
  switch( 
$fldtype )
    {
    case 
'0'/* text */
      
if( $required )
    {
      if( !isset(
$params['feu_input_'.$propname]) ||
          empty(
$params['feu_input_'.$propname]) )
        {
          
$params['error'] = 1;
          
$params['message'] = $this->Lang('error_invalidemailaddress').' '.$result[1];
          
$this->Redirect$id'changesettings'$returnid$params );
        }
    }
      break;
      
    case 
'2'/* email */
      
if( $required )
    {
      if( !isset(
$params['feu_input_'.$propname]) )
        {
          
$params['error'] = 1;
          
$params['message'] = $this->Lang('error_invalidemailaddress').' '.$result[1];
          
$this->Redirect$id'changesettings'$returnid$params );
        }
      else
        {
          
$result $this->IsValidEmailAddress$params['feu_input_'.$propname], $uid );
          if( 
$result[0] == false )
        {
          
$params['error'] = 1;
          
$params['message'] = $this->Lang('error_invalidemailaddress').' '.$result[1];
          
$this->Redirect$id'changesettings'$returnid$params );
        }
        }
    }
      break;

   

    
y asi sigue para cada cosa (area de textolistasradio botonescheck boxetc
Se puede o me busco otro?

Última edición por Ruben_C; 19/08/2010 a las 23:28 Razón: error de copiado en script
  #2 (permalink)  
Antiguo 19/08/2010, 23:45
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: Ayuda con script complicado

la verdad que no entiendo nada del codigo, jeje , pero se me ocurre que podés guardar los datos del primer form en un array en una variable de sesion, y asi pasar a la segunda pagina, se entiende?
__________________
la la la
  #3 (permalink)  
Antiguo 20/08/2010, 00:02
 
Fecha de Ingreso: agosto-2010
Ubicación: santiago, CHILE
Mensajes: 564
Antigüedad: 13 años, 8 meses
Puntos: 9
Respuesta: Ayuda con script complicado

/*...yo no programo asi....pero uno de los consejos q te puedo dar....es q busques otro jajjajajaja.....nooo calmao....

es q si no eres programador estamos mal...porque tendrias q modificar la funcion Redirect q utilizas....es dejando parametros opcionales...

y la funcion en su comienzo quedaria algo asi.

function Redirect($parametro1,$parametro2,$parametro3=false ,$parametro4=false)
{
.....
.....
}

*/
  #4 (permalink)  
Antiguo 20/08/2010, 02:06
 
Fecha de Ingreso: febrero-2006
Mensajes: 217
Antigüedad: 18 años, 2 meses
Puntos: 0
Respuesta: Ayuda con script complicado

jaja, parece que es verdad, me tendré que buscar otro.

Pero me parece que qui es donde deveria hacerse el cambio
Código PHP:
switch( $fldtype 
    { 
    case 
'0'/* text */ 
      
if( $required 
    {  ..... 
$required es la variable que indica si es requerido, pero me gustaria saber como quedaria la estructura del IF si aunque sea un campo requerido, no se haga la comprobacion si es que el campo no se envio por form.

¿se entiende?

Etiquetas: Ninguno
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 19:15.