turk porno porno escort rokettube
Ergebnis 1 bis 7 von 7

Thema: Query String funktioniert nicht

  1. #1
    Neuer Benutzer
    Registriert seit
    17.03.2015
    Beiträge
    8
    Thanks
    2
    Thanked 0 Times in 0 Posts

    Standard Query String funktioniert nicht

    Hallo liebe ZF-Gemeinde,


    ich habe nach dem Umstieg auf ZF3 ein Problem mit Query Routing. Bei einem Aufrfuf im Controller von
    Code:
        $this->params()->fromQuery();

    bekomme ich eine leere Liste ....


    Könnt ihr bitte mir weiterhelfen? Vielen Dank im Voraus!


    Meine Konfiguration sieht so aus:


    PHP-Code:
        'router' => array(
            
    'routes' => array(
                
    'foo' => array(
                    
    'type' => 'literal',
                    
    'options' => array(
                        
    'route'    => '/foo',
                        
    'defaults' => array(
                            
    '__NAMESPACE__' => 'Foo',
                            
    'controller'    => 'List',
                            
    'action'        => 'index'


                        
    )
                    ),
                    
    // 2th. Level
                    
    'may_terminate' => true,
                    
    'child_routes'  => array(
                        
    'controller'    => array(
                            
    'type'      => 'Segment',
                            
    'options'   => array(
                                
    'route'         => '/:controller',
                                
    'constraints'   => array(
                                    
    'controller'    => 'bar|x1|x2|x3|x4',
                                )
                            ),
                            
    //3th.Level
                            
    'may_terminate' => true,
                            
    'child_routes'  => array(
                                
    'action'        => array(
                                    
    'type'      => 'Segment',
                                    
    'options'   => array(
                                        
    'route'         => '/:action/[:id]/[:locale]/',
                                        
    'constraints'   => array(
                                            
    'action'    => '[a-zA-Z][a-zA-Z0-9-]*',
                                            
    'id'        => '[0-9]*',
                                            
    'locale'      => '[a-z]{2}_[A-Z]{2}'
                                        
    ),
                                    ),
                                ),
                            ),
                        ),
                    ),
                ),
            ),
        ), 

    Bei Verwendung von einem URL-Plugin oder im Controller von einem Redirect:
    PHP-Code:
    return $this->redirect()
                ->
    toRoute(
                    
    'foo/controller/action',
                    [
    'controller'=>'bar''action'=>'myAction'],
                    [ 
    'query' => ["param"=> "test"]]
                ); 
    oder
    PHP-Code:
    $this->url(
         
    'foo/controller/action',
         [
    'controller'=>'bar''action'=>'myAction'],
         [ 
    'query' => ["param"=> "test"]]
        ); 

    habe ich ein Problem, bei einem Aufrfuf von
    PHP-Code:
        $this->params()->fromQuery(); 

    ich bekomme eine leere Liste


    Könnt ihr bitte mir weiterhelfen? Vielen Dank im Voraus!
    Geändert von Kaiuwe (20.02.2018 um 14:38 Uhr)

  2. #2
    Super-Moderator Avatar von Kaiuwe
    Registriert seit
    30.12.2006
    Beiträge
    5.540
    Thanks
    4
    Thanked 357 Times in 288 Posts

    Standard

    Leider ist deine Überschrift „query route“ und auch die Begrifflichkeit „Query Routing“ irreführend, denn das gibt es gar nicht. Du meinst hier einfach den „Query String“. Daher war mir erst nicht klar, was du meinst bzw. wo dein Problem liegt.

    Auf den ersten Blick kann ich kein Problem sehen. Ist denn in einer URL überhaupt der „Query String“ zu sehen, sprich wurde „?param=test“ hinzugefügt?



    Folgende Angaben zählen übrigens zu den Altlasten:

    PHP-Code:
    '__NAMESPACE__' => 'Foo',
    'controller'    => 'List',
    'action'        => 'index' 
    Kannst du verkürzen auf:
    PHP-Code:
    'controller' => Foo\ListController::class,
    'action' => 'index' 
    Schütz dich erstens vor Schreibfehler und beim Umstieg auf die nächste Version, wenn die Angabe „__NAMESPACE__“ (höchstwahrscheinlich) nicht mehr existiert.
    Zum Zend Framework stehen jedem folgende Quellen zum Nachschlagen zur Verfügung:

  3. #3
    Neuer Benutzer
    Registriert seit
    17.03.2015
    Beiträge
    8
    Thanks
    2
    Thanked 0 Times in 0 Posts

    Standard

    Danke für den Tipp. Das werde ich entsprechend anpassen.

    „?param=test“ steht in der Adresszeile im Browser. Nur beim Aufruf von "$this->params()->fromQuery();" wird eine leere Liste ausgegeben.


  4. #4
    Super-Moderator Avatar von Kaiuwe
    Registriert seit
    30.12.2006
    Beiträge
    5.540
    Thanks
    4
    Thanked 357 Times in 288 Posts

    Standard

    Zitat Zitat von srerin Beitrag anzeigen
    $this->params()->fromQuery();
    Wo im Kontroller wird dies ausgeführt?
    Zum Zend Framework stehen jedem folgende Quellen zum Nachschlagen zur Verfügung:

  5. #5
    Neuer Benutzer
    Registriert seit
    17.03.2015
    Beiträge
    8
    Thanks
    2
    Thanked 0 Times in 0 Posts

    Standard

    Normalerweise mache ich gleich am Anfang.
    PHP-Code:
    indexAction(){
        
    $id $this->params("id");
        
    $param $this->params()->fromQuery("param"); // Ausgabe NULL
        // bzw.
        
    $qs $this->params()->fromQuery();  // Ausgabe ein leeres Array

    Kommischerweise hat das Ganze mit ZF2 ganz gut funktioniert. Aber mit ZF3 nicht mehr

  6. #6
    Super-Moderator Avatar von Kaiuwe
    Registriert seit
    30.12.2006
    Beiträge
    5.540
    Thanks
    4
    Thanked 357 Times in 288 Posts

    Standard

    Zitat Zitat von srerin Beitrag anzeigen
    Aber mit ZF3 nicht mehr
    Das Problem ist nicht die Version 3. Die Handhabung ist gleich geblieben.

    Was ist denn in der Super-Globalen „$_GET“ enthalten?
    Zum Zend Framework stehen jedem folgende Quellen zum Nachschlagen zur Verfügung:

  7. The Following User Says Thank You to Kaiuwe For This Useful Post:

    srerin (21.02.2018)

  8. #7
    Neuer Benutzer
    Registriert seit
    17.03.2015
    Beiträge
    8
    Thanks
    2
    Thanked 0 Times in 0 Posts

    Standard

    @Kaiwe, vielen Dank für die richtige Frage, vor allem für die Bemerkung. Ich habe den Fehler gefunden. Es lag an der Konfiguration des Webservers. Ich habe sie angepasst. Jetzt stimmt die Ausgabe beim Aufruf $this->params()->fromQuery();

    Vielen Dank für die Unterstützung!

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 22.04.2015, 13:44
  2. select query funzt nicht
    Von ZF_Fan im Forum Einsteigerfragen
    Antworten: 5
    Letzter Beitrag: 04.01.2010, 12:42
  3. Zend_Cache_Frontend_Page funktioniert nicht.
    Von CHAOSFISCH im Forum Core
    Antworten: 18
    Letzter Beitrag: 10.07.2009, 17:36
  4. Routing funktioniert nicht
    Von Minimal im Forum Einsteigerfragen
    Antworten: 12
    Letzter Beitrag: 26.05.2009, 15:23
  5. Suche funktioniert nicht
    Von wagneru im Forum Über das Forum
    Antworten: 5
    Letzter Beitrag: 04.08.2008, 14:49

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •