Este foro ya no está activo, así que no puedes publicar nuevas preguntas ni responder a las preguntas existentes.

Problema al utilizar dos variables en un controlador Silex

5 de noviembre de 2015

Cuando uso function(Request $request, $ident) me dice "Whoops, looks like something went wrong." Cuando sólo pongo function (Request $request)" me dice "Notice: Undefined variable: ident in C:\xampp\htdocs\bootcamp\wtwo\index.php on line 107." Ya no sé qué hacer :\

¿Alguien sabe cómo usar la variable que se crea con {ident} sin tener errores?

$app->get('/libro/{ident}/change/', function(Request $request) use ($app) {
    $sent=false;
 
    $default=array(
        'title' => '',
        'price' => '',
        'description' => '',
        );
        include 'dbcon.php';
    if($row['id']=$ident){
            $form = $app['form.factory']->createBuilder('form', $default)
            ->add('title', 'text', array(
            'constraints' => array(new Assert\NotBlank(), new Assert\Length(array('min' => 1))),
            'attr' => array('class' => 'form-control', 'placeholder' => ''.$row['title'].'')
            ))
            ->add('price', 'text', array(
            'constraints' => array(new Assert\NotBlank(), new Assert\Length(array('min' => 1))),
            'attr' => array('class' => 'form-control', 'placeholder' => ''.$row['price'].'')
            ))
            ->add('description', 'textarea', array(
            'constraints' => array(new Assert\NotBlank(), new Assert\Length(array('min' => 1))),
            'attr' => array('class' => 'form-control', 'placeholder' => ''.$row['description'].'')
            ))
            ->add('send', 'submit', array(
            'attr' => array('class' => 'btn btn-default')
            ))
            ->getForm();
 
            $form->handleRequest($request);
        }
        return "Hola";
});

Respuestas

#1

Esto debería funcionar:

$app->get('/libro/{ident}/change/', function (Request $request, $ident) use ($app) {
    // ...
}

Mira en el archivo de log los detalles del error porque probablemente no tengan relación con la variable $ident.

@javiereguiluz

5 noviembre 2015, 16:39
#2

Okey, no me da pena admitir que soy completamente novato en Silex. Así que voy a preguntar xD ¿Cómo puedo ver el archivo de log?

@NickShenial

5 noviembre 2015, 16:41
#3

El archivo de log depende de cómo hayas instalado Silex o cómo hayas creado la aplicación. Casi siempre se encuentra o en la carpeta logs/ de la raíz del proyecto o en la carpeta var/logs/ también en la raíz del proyecto.

Si ya tienes los logs activados, verás un archivo con mucha información. Te aconsejo que borres completamente el contenido de ese archivo, vuelvas a cargar la página que te da error y así tendrás solamente la información relacionada con el error.

@javiereguiluz

5 noviembre 2015, 16:46
#4

Bueno, muchas gracias :D Veré qué puedo hacer.

Saludos ^^

@NickShenial

5 noviembre 2015, 16:48