Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Odczyt podstrony z MySQL
Forum PHP.pl > Forum > Przedszkole
esej101
Zamieniłem w .htaccess żeby zamiast
  1. index.php?id=home
ma wyświetlać home.html ale jak pobrać z MySQL? Normalnie pobierałem według zapytania $_GET['id']? smile.gif
wookieb
Przejrzyj zmienna $_GET a się przekonasz
esej101
.htaccess:
  1. RewriteEngine On
  2. RewriteRule ^([^-]+)$ index.php?podstrona=$1 [L]


plik index.php:
  1. if($_GET['podstrona']=="home") {
  2. echo 'Home';
  3. } else
  4. if($_GET['podstrona']=="kontakt") {
  5. echo 'Kontakt';
  6. } else {
  7. echo 'Nie ma takiej podstrony!';
  8. }


Obojętnie jaki wpiszę adres po ukośniku, czy /home czy /kontakt cały czas wyświetla Nie ma takiej pdostrony
Dlaczego?
Pawel_W
weź to na logikę, jak podasz taki kod
Cytat
RewriteRule ^([^-]+)$ index.php?podstrona=$1 [L]

to zassie ci całe, razem z .html smile.gif
esej101
Ok, rzeczywiście mój błąd. Mam już raczej ostatni problem:
  1. RewriteRule ^(.*)\.html index.php?podstrona=$1
  2. RewriteRule ^(.*)-(.*)\.html index.php?podstrona=$1&warunek2=$2


I gdy wchodzę w home.html wszystko działa, ładuje się strona z bazy i wyświetla Menu1 ale jeśli dam home-aktualnosc1.html to też się ładuje z bazy ale już nie wyświetla Menu1.
  1. if (empty($_GET['podstrona'])==true or $_GET['podstrona']=="home" or empty($_GET['warunek2'])==false) {
  2. echo 'Menu1';
  3. }


O co kaman?
Pawel_W
zamień kolejność winksmiley.jpg
  1. RewriteRule ^(.*)-(.*)\.html index.php?podstrona=$1&warunek2=$2
  2. RewriteRule ^(.*)\.html index.php?podstrona=$1

najpierw daje się bardziej skomplikowane warunki, taka jest zasada smile.gif
esej101
Ekstra, wszystko śmiga jak należy smile.gif

Już ostatnie pytanko: Mam w bzie MySQL kod PHP i rekord z bazy pobieram ale skrypt się nie wykonuje. A jak go wykonać smile.gif ?
Pawel_W
eval?
esej101
Mam taki kod w bazie:
  1. <?php
  2. $wynik = mysql_query("SELECT * FROM page WHERE typ='news'");
  3. while($r=mysql_fetch_assoc($wynik)){
  4. $tit = $r['tytul'];
  5. if(strlen($tit)>5) {
  6. $tit = substr($tit, 0, 5);
  7. $tit = "".$tit."...";}
  8. echo "<h2>".$r['tytul']."</h2>";
  9. ?>


Pobieram go tak:
  1. eval(''.$wiersz['text'].'');


Zawsze działało przy zwykłym tekście, przerobiłem na tak:
  1. eval('?>'.$wiersz['text'].'<?php');




Co jest źle?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.