• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

wyciąganie zmiennych metodą GET - .htaccess + klasa stron

VPS Starter Arubacloud
0 głosów
388 wizyt
pytanie zadane 22 grudnia 2016 w PHP przez dervil Gaduła (3,030 p.)
edycja 23 grudnia 2016 przez dervil

Witam!

Jest tak

Options FollowSymLinks

RewriteEngine On

RewriteRule ^([0-9a-zA-Z\-\#]+)/?$ index.php?strona=$1 [L]


<?php

session_start();
require_once("konf.php");

if(!(isset($_GET['strona']))) { 
    
    header("Location: ".SERVER_ADDRESS."dom");
    
} else {
    
    $mp = new Strona($_GET['strona']); 
    
}

?>
<?php

   class Strona
   {

    private $aktywna_strona;

    public function __construct($AKTYWNA_STRONA) {

        $this->aktywna_strona= $AKTYWNA_STRONA;

        switch($this->aktywna_strona) {

            case 'dom':

            require_once $this->aktywna_strona.".biblioteka.php";

            break;

} } }

?>

ustawiam każdą stronę tak jak tą home czyli adres będzie http://strona.pl/home i działa

Zagadnienie:

Jak wyciągnąć/pobrać zmienne jeżeli metodą GET z linku, chciałbym przesyłać zmienne

np: http://strona.pl/home?zmienna1=100&zmienna200=2&zmienna3=300

$zmienna1 = $_GET['zmienna1'];

$zmienna2 = $_GET['zmienna2'];

$zmienna3 = $_GET['zmienna3'];

ale gdy są klasy to wyskakuje błąd bo jest to

$mp = new Strona($_GET['strona']); co powoduje że GET jest rezerwowane tak jakby dla stron i działa tylko w pliku index.php w funkcji if(!(isset($_GET['strona']) i tylko tam

więcej szczegółów na kursie DEVCORNER

POMOŻE KTOŚ

jak przypisać lub stworzyć funkcję zmieniającą switch z klasy Strona w pliku Strona.php tak aby w razie potrzeby dodawał zmienne z adresu strony metodą GET i to powinno wystarczyć, tam gdzie będę chciał po prostu będę dodawał ten nowy wymyślony kod.

ps:

WESOŁYCH ŚWIĄT

 

pozdrawiam Damian

komentarz 22 grudnia 2016 przez xandros Nałogowiec (29,450 p.)
Nie musisz od razu(3min) znikać z irc po tym, jak zadasz pytanie.

Dopiero teraz przeczytałem, bo byłem w trakcie pracy.

Może mi się uda jakoś pomóc.

2 odpowiedzi

0 głosów
odpowiedź 22 grudnia 2016 przez grollajt Bywalec (2,860 p.)

 

Moze cos takiego? 
 

/**
 * Dodanie calego $_get do sesji w bliku biblioteka.php wystarczy ze 
 * odczytasz reszte zmiennych przez przeslana sesje 
 */
if (isset($_GET) && !empty($_GET)) {
    $_SESSION['get'] = $_GET;
}
if (!(isset($_GET['strona']))) {

    header("Location: " . SERVER_ADDRESS . "dom");
} else {

    $mp = new Strona($_GET['strona']);
}

 

komentarz 23 grudnia 2016 przez dervil Gaduła (3,030 p.)
cześć, zerknij jeszcze raz na pytanie, może coś ci się rozjaśni , dzięki i pozdrawiam
0 głosów
odpowiedź 23 grudnia 2016 przez xandros Nałogowiec (29,450 p.)
Po dłuższej konwersacji doszliśmy do błędnego .htaccess

Był po prostu źle zrobiony.
komentarz 23 grudnia 2016 przez dervil Gaduła (3,030 p.)
godzinę gadania i nic, ale dzięki za czas i chęci, pozdrawiam
komentarz 23 grudnia 2016 przez xandros Nałogowiec (29,450 p.)
WAT? przecież rozwiązaliśmy problem... nawet gadałeś... ech
komentarz 23 grudnia 2016 przez dervil Gaduła (3,030 p.)
edycja 23 grudnia 2016 przez dervil
nie działa,

ja nie chce zmieniać ustawień RewriteRule w .htaccess w tym miejscu z strona, tylko wyciągnąć zmienne z takiego jak jest lub tak go zmodyfikować aby działało wywoływanie stron, a w razie potrzeby pobieranie zmiennych za pomocą GET,  a tak przy okazji po tym twoim kombinowaniu to tyle błędów wywalało że hoho, a na dodatek nie działa index.php, ładuje każdą strone oprócz index.php
komentarz 23 grudnia 2016 przez xandros Nałogowiec (29,450 p.)
> ja nie chce zmieniać ustawień .htaccess

Ale właśnie twoim problemem, był źle napisany htaccess

>  a tak przy okazji po tym twoim kombinowaniu to tyle błędów wywalało że hoho

Czyli nie pozostaje nic innego, jak przepisać poprawnie ten kod.

Jeśli już nie chcesz stosować się do tego: https://youtu.be/WRgHBu3msA4 Polecam użyć https://github.com/nikic/FastRoute albo czegoś innego do routów.
komentarz 23 grudnia 2016 przez dervil Gaduła (3,030 p.)
hmm???
komentarz 23 grudnia 2016 przez dervil Gaduła (3,030 p.)
więc tak, wszystko w swoim czasie, póki co muszę sie nauczyć jak przypisać lub stworzyć funkcję zmieniającą switch z klasy Strona w pliku Strona.php tak aby w razie potrzeby dodawał zmienne z adresu strony metodą GET i to powinno wystarczyć, tam gdzie będę chciał po prostu będę dodawał ten nowy wymyślony kod.

Podobne pytania

0 głosów
1 odpowiedź 170 wizyt
pytanie zadane 31 stycznia 2017 w C i C++ przez student33 Początkujący (250 p.)
0 głosów
1 odpowiedź 156 wizyt
pytanie zadane 22 lutego 2017 w PHP przez prymex Obywatel (1,250 p.)
0 głosów
1 odpowiedź 132 wizyt
pytanie zadane 19 marca 2017 w JavaScript przez FYLYPOS94 Nowicjusz (180 p.)

92,454 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...