Foros del Web » Programando para Internet » PHP »

Ayuda!!!!!

Estas en el tema de Ayuda!!!!! en el foro de PHP en Foros del Web. tengo este problema en mi programación, ojala y me pueda alguien aydar! ERROR ----------------------------------------------------------------------- Parse error: parse error, unexpected ';' in C:\citur\a_pago.php on line 61 ...
  #1 (permalink)  
Antiguo 04/06/2007, 12:26
 
Fecha de Ingreso: febrero-2005
Mensajes: 6
Antigüedad: 19 años, 2 meses
Puntos: 0
Ayuda!!!!!

tengo este problema en mi programación, ojala y me pueda alguien aydar!


ERROR
-----------------------------------------------------------------------
Parse error: parse error, unexpected ';' in C:\citur\a_pago.php on line 61
-----------------------------------------------------------------------

CODIGO
-----------------------------------------------------------------------
case "EDITADO":
$obj->_actualizarDB("clientes",array('OBSERVACIONES', 'meses', 'fecha_pago'),array($_REQUEST['OBSERVACIONES'],$_REQUEST['meses'],$_REQUEST['fecha_pago'], $id);
$msg="El registro fué actualizado";
break;
-----------------------------------------------------------------------


GRACIAS
  #2 (permalink)  
Antiguo 04/06/2007, 12:28
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Ayuda!!!!!

Te falta un paréntesis al final de tu llamada al método _actualizarDB.
  #3 (permalink)  
Antiguo 04/06/2007, 12:33
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 529
Antigüedad: 17 años, 5 meses
Puntos: 11
Re: Ayuda!!!!!

Te falta un paréntesis.
Debe quedar así:

Código PHP:
$obj->_actualizarDB("clientes",array('OBSERVACIONES''meses''fecha_pago'),array($_REQUEST['OBSERVACIONES'],$_REQUEST['meses'],$_REQUEST['fecha_pago'], $id)); 
Espero tu respuesta
Saludos
  #4 (permalink)  
Antiguo 04/06/2007, 12:39
 
Fecha de Ingreso: febrero-2005
Mensajes: 6
Antigüedad: 19 años, 2 meses
Puntos: 0
Re: Ayuda!!!!!

Gracias el problema se soluciono pero me salta otro error!

ERROR
--------------------------------------------------------------------
Warning: sprintf() [function.sprintf]: Too few arguments in C:\citur\a_pago.php on line 216
--------------------------------------------------------------------

CODIGO
--------------------------------------------------------------------
$sql="SELECT * FROM clientes WHERE id=".$_REQUEST['id'];
$row= $obj->_consultaDB($sql);
print sprintf($html,$row['meses'],date('Y/m/d', strtotime($row['fecha_pago'])), $row['OBSERVACIONES']);
print "
---------------------------------------------------------------------

gracias por su ayuda!!!
  #5 (permalink)  
Antiguo 04/06/2007, 12:42
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Ayuda!!!!!

Ese error te sale cuando en tu cadena de formato para sprintf, utilizas menos argumentos de los que le envias es decir, si le envias esta cadena de formato:
Código PHP:
$str "Tengo %s perros de color %s";
echo 
sprintf$str); 
Te aparece ese error porque sprintf espera mas valores para imprimir tu cadena, asi que tienes que enviarle tantos valores como tantas cadenas de formato estas enviando.

Saludos.
  #6 (permalink)  
Antiguo 04/06/2007, 13:08
 
Fecha de Ingreso: febrero-2005
Mensajes: 6
Antigüedad: 19 años, 2 meses
Puntos: 0
Re: Ayuda!!!!!

ok si la envio de eta forma me aparece error?

Código PHP:
$str "Tengo %s perros de color %s";
echo 
sprintf$str); 
entonces cual seria la forma correcta????

si fue esa la explicación?
  #7 (permalink)  
Antiguo 04/06/2007, 13:19
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 529
Antigüedad: 17 años, 5 meses
Puntos: 11
Re: Ayuda!!!!!

El primer parámetro de la función sprintf es para indicarle la variable donde se encuantra la cadena a leer.

El segundo parámetro en tu caso es el que muestra la cantidad de perros.

Y falta un tercer parámetro que undica el color, cada %s debe corresponder a parámetros de la función sprintf del segundo en adelante.

Si tienes tres %s tu sprintf deberá tener cuatro parámetros, el primero le indica la cadena a leer y lel resto son lo que van a reemplzar los %s en orden.-

Un ejemplo en tu caso sería:

$str = "Tengo %s perros de color %s";
echo
sprintf( $str, 5, 'Marron'
);
  #8 (permalink)  
Antiguo 04/06/2007, 13:26
 
Fecha de Ingreso: febrero-2005
Mensajes: 6
Antigüedad: 19 años, 2 meses
Puntos: 0
Re: Ayuda!!!!!

UserMAx, muchisimas gracias por tu ayuda, pero de acuerdo con tu explicación no veo que falte o mas bien no encuentro el parametro o los parametros faltantes este es mi codigo:

Código PHP:
            $html="<h1>Actualizacion de Mensualidades</h1>
                <h2>Datos de contrato</h2>
            <fieldset>
                <p><span class=\"datos\">Mensualidades:</span><input name=\"meses\" type=\"text\" size=\"3\" class=\"moneda\" value=\"%s\" />
                <span class=\"datos\">Fecha para pago:</span><input name=\"fecha_pago\" id=\"fecha_pago\" type=\"text\" size=\"12\" readonly=\"true\" value=\"%s\" />
                <A HREF=\"#\" onClick=\"\"  NAME=\"anchor4\" ID=\"anchor4\"><img src=\"img/cal.gif\" border=0 alt=\"\" /></A>
                <script type=\"text/javascript\">
                    Calendar.setup({inputField:\"fecha_pago\",button:\"anchor4\"});
                    Calendar.setup({inputField:\"fecha_pago\",button:\"fecha_pago\"});
                </script></p>
                <p><span class=\"datos\">Observaciones:</span><br/><span class=\"datos\"><textarea name=\"OBSERVACIONES\" cols=\"80\" rows=\"3\">%s</textarea></span></p>
                &nbsp;
            <input class=\"boton\" type=\"submit\" name=\"Submit\" value=\"Actualizar Forma de Pago\"/>
                <input name=\"id\" type=\"hidden\" value=\"%s\" />
                <input name=\"mod\" type=\"hidden\" value=\"EDITADO\" />
            </fieldset>
            <fieldset class=\"opciones\">
                <p><input class=\"boton_regresar\" type=\"button\" name=\"back_boton\" value=\"« Regresar\" onclick=\"javascript:history.back();\" />
                <input class=\"boton\" type=\"submit\" name=\"Submit\" value=\"Grabar cliente\"/>
            </fieldset>
            </form>
            <hr/>"
;

            
$sql="SELECT * FROM clientes WHERE id=".$_REQUEST['id'];
            
$row$obj->_consultaDB($sql);
            print 
sprintf($html,$row['meses'],date('Y/m/d'strtotime($row['fecha_pago'])), $row['OBSERVACIONES']);
            print 

Infinitas Gracias de Antemano
  #9 (permalink)  
Antiguo 04/06/2007, 13:33
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 529
Antigüedad: 17 años, 5 meses
Puntos: 11
Re: Ayuda!!!!!

Veamos los %s en tu código:

Primer %s en linea 5
Código PHP:
<span class="datos\">Mensualidades:</span><input name=\"meses\" type=\"text\" size=\"3\" class=\"moneda\" value=\"%s\" /> 
Segundo %s en linea 6
Código PHP:
<span class="datos\">Fecha para pago:</span><input name=\"fecha_pago\" id=\"fecha_pago\" type=\"text\" size=\"12\" readonly=\"true\" value=\"%s\" /> 
Tercer %s en la linea 12
Código PHP:
<span class="datos\">Observaciones:</span><br/><span class=\"datos\"><textarea name=\"OBSERVACIONES\" cols=\"80\" rows=\"3\">%s</textarea></span> 
Cuarto %s en la linea 15
Código PHP:
<input name="id\" type=\"hidden\" value=\"%s\" /> 

O sea tienes 4 %s...

Veamos ahora la función sprintf()

sprintf($html,$row['meses'],date('Y/m/d', strtotime($row['fecha_pago'])), $row['OBSERVACIONES'])

El primer parámetro te indica la cadena a leer: $html
Luego de ese parametro le siguen tres más de reemplazo.

Tres parámetros de reemplazo versus 4 %s.
Esta mal.
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 11:47.