Pagina 3 di 3 primaprima 1 2 3
Visualizzazione dei risultati da 21 a 26 su 26
  1. #21
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Da come scrivi sembra che o parse_url o explode ti diano l'array "invertito". A questo punto stampati le variabili passo passo:
    1. echo di parse_url(...), che dovrebbe darti /guide/show/2
    2. print_r($pop), prima di array_pop

  2. #22
    Utente di HTML.it
    Registrato dal
    Nov 2016
    residenza
    Italy
    Messaggi
    139
    Quote Originariamente inviata da boots Visualizza il messaggio
    Da come scrivi sembra che o parse_url o explode ti diano l'array "invertito". A questo punto stampati le variabili passo passo:
    1. echo di parse_url(...), che dovrebbe darti /guide/show/2
    2. print_r($pop), prima di array_pop
    Ciao boots, allora ho fatto come mi dici,
    1) l'echo di parse_url mi da: /guide/show/2 correttamente come deve essere
    2)stampo print_r($pop) prima di fare array_pop ed ho: Array ( [0] => [1] => guide [2] => show [3] => 2 )
    3)stampo poi array_pop($pop) ed ottengo: 2

    se provo però a fare $p=print_r($pop) e poi passare $p ad array_pop(), ottengo errore

  3. #23
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Quindi è corretto...come mai prima hai scritto che array_pop($pop) = 'guide' ?
    Il codice è sempre lo stesso, o hai fatto qualche cambiamento ?

  4. #24
    Utente di HTML.it
    Registrato dal
    Nov 2016
    residenza
    Italy
    Messaggi
    139
    Quote Originariamente inviata da boots Visualizza il messaggio
    Quindi è corretto...come mai prima hai scritto che array_pop($pop) = 'guide' ?
    Il codice è sempre lo stesso, o hai fatto qualche cambiamento ?
    Ciao boots, infatti non capivo il perché non funzionasse, ora posto tutto il codice della pagina, perché forse ho capito cosa da errore:
    codice:
    @extends('layouts.master')
        @section('title', 'Tutto Vespa | Guide')
        
        @section('content')
                <!-- vero body, mostra le varie notizie -->
           <div class="row">
                    <div id="tm-section-2" class="tm-section">
                        <div class="tm-container tm-container-wide">
                            
                @if($h!=null)
                <h1 class="tm-news-text">Tutte le nostre guide</h1>
                @foreach ($h as $value)
                        
                 <div class="tm-news-item">
                                
                                <div class="col-xs-12 col-sm-12 col-md-12 col-lg-6 col-xl-6 tm-news-item-img-container">
                                    <img src="../../Image/guide/{{$value['id']}}.jpg" alt="Image" class="img-fluid tm-news-item-img">  
                                </div>
                                
                                <div class="col-xs-12 col-sm-12 col-md-12 col-lg-6 col-xl-6 tm-news-container">
                                 <h2 class="tm-news-title dark-gray-text">Tipologia: {{$value['tipologia']}} | Titolo: {{$value['titolo']}}</h2>
                                  <p class="tm-news-text">{{$value['sottotitolo']}}</p>
                                  <p class="tm-news-text">Difficoltà: {{$value['difficolta']}} | Tempo di lavorazione: {{$value['lavorazione']}} min</p>
                                  <a href="/guide/{{$value['id']}}" class="btn tm-light-blue-bordered-btn tm-news-link">Leggi tutto</a>
                                </div>
                            </div>
                
          
                  @endforeach
                  
                  @endif
                  <!-- select di navigazione tra le pagine web -->
                  
                  
                  @if($elementi<10)
                    <label class="blue-text">Pagina </label>
                        <select>
                            <option value="1">1</option>
                        </select>
                    <label class="blue-text">di 1 </label>
                  @elseif(($elementi%2)==0)
                    <label class="blue-text">Pagina </label>
                        <select name="url" onchange="location.href=this.value">
                            @for($i=0;$i<($elementi/10);$i++)
                            @php
                                $pop=explode("/", parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH));
                            @endphp
                                @if(array_pop($pop)==($i+1)) 
                                    <option value="http://localhost:8000/guide/show/{{($i+1)}}" selected>{{$i+1}}</option>
                                @else
                                <option value="http://localhost:8000/guide/show/{{($i+1)}}">{{$i+1}}</option>
                                @endif
                            @endfor
                            
                        </select>
                    <label class="blue-text">di {{$i}}</label><br/>
                  @elseif(($elementi%2)!=0)
                    <label class="blue-text">Pagina </label>
                        <select name="url" onchange="location.href=this.value">
                            @for($i=0;$i< (floor($elementi/10)+1);$i++)
                            @php
                                $pop=explode("/", parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH));
                            @endphp
                                @if(array_pop($pop)==($i+1))
                                <option value="http://localhost:8000/guide/show/{{($i+1)}}" selected>{{$i+1}}</option>
                                @else
                                <option value="http://localhost:8000/guide/show/{{($i+1)}}">{{$i+1}}</option>
                                @endif
                            @endfor
                            
                        </select>
                    <label class="blue-text">di {{$i}}</label><br/>
                  @endif
                  <br/>
                  <label>Il print_r prima di array_pop è: {{print_r($pop)}}</label><br/>
                  <label>l'echo di parse_url è: {{parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)}}</label><br/>
                  <label>Il valore di ARRAY_POP è: {{array_pop($pop)}}, mentre quello di print_r è: {{print_r($pop)}}</label>
                  <!-- fine della select di navigazione tra le pagine web -->
                        </div>
                    </div>
           </div>
          
    @endsection
    Praticamente, nel codice, se nella @if(array_pop($pop)==($i+1)) elimino
    array_pop($pop), lasciandolo solo @if(($i+1)) allora quando stampo i valori di print_r ed array_pop($pop) ottengo i giusti valori...se invece lascio l'if così come mi occorre, cioè
    @if(array_pop($pop)==($i+1)), ottengo quando vado a stampare:

    1)Il print_r prima di array_pop : Array ( [0] => [1] => guide [2] => show )
    2) l'echo di parse url è corretto: /guide/show/1 o /guide/show/2 a seconda della pagina
    3) array_pop è show anziché 1 o 2.....se ristampo print_r ottengo Array ( [0] => [1] => guide ) 1

  5. #25
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    array_pop ti restituisce l'ultimo elemento ma modifica anche l'array rimuovendo l'elemento che restituisce...quindi è normale che prima e dopo l'array sia diverso...il problema che vedo è che dal print_r PRIMA di array_pop (il punto 1)non vedo l'elemento con valore 1 (ovvero la pagina corrente) nonostante parse_url te lo restituisca.
    Se stampi qualcosa del genere:
    codice:
    @php
    echo parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
    $pop=explode("/", parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH));
    print_r($pop);
    @endphp
    Cosa hai?

  6. #26
    Utente di HTML.it
    Registrato dal
    Nov 2016
    residenza
    Italy
    Messaggi
    139
    Quote Originariamente inviata da boots Visualizza il messaggio
    array_pop ti restituisce l'ultimo elemento ma modifica anche l'array rimuovendo l'elemento che restituisce...quindi è normale che prima e dopo l'array sia diverso...il problema che vedo è che dal print_r PRIMA di array_pop (il punto 1)non vedo l'elemento con valore 1 (ovvero la pagina corrente) nonostante parse_url te lo restituisca.
    Se stampi qualcosa del genere:
    codice:
    @php
    echo parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
    $pop=explode("/", parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH));
    print_r($pop);
    @endphp
    Cosa hai?
    Ciao, eliminando tutto il codice, e lasciando solo quello che mi hai dato tu, ottengo:
    - /guide/show/1 o /guide/show/2 a seconda della pagina
    - Array([0]=>
    [1]=>guide
    [2]=>show
    [3]=>1
    ) o
    Array([0]=>[1]=>guide
    [2]=>show
    [3]=>2
    ) se in pagina 2

    e mi sembra sia corretto

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.