Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z ładowaniem hiperłącza
Forum PHP.pl > Forum > Przedszkole
knefelio
Mam problem ze skryptem zakupionym na allegro. Niestety ale po zakupie kontakt ze sprzedawca sie urwał i jestem zmuszony prosić Was o radę. Nie wiem nawet pod jakim hasłem szukac rozwiązania. Otóż chciałbym aby hiperłącze otwierało odrazu właściwy plik gdy komus go podam bezpośrednio, a nie gdy zostanie on kliknięty ze strony głównej. Nie wiem czy wynika to z ciasteczek czy czegoś innego ale tak to niestety działa.

Na głównej stronie jest link:

  1. <a href="nowosci">nowosci</a>


wywołuje ono plik który jest zdefiniowany:

  1. switch($_GET['strona']) {
  2. case "nowosci": include "new.php"; break;


Chciałbym aby wywołanie linku:

http://adresstrony.pl/nowosci

Ładowało od razu ten plik new.php a nie przenosiło na stronę główną. Da się to jakoś obejść?
Spawnm
Proszę nadać sensowy tytuł tematu.
CuteOne
Popracuj nad wysławianiem się bo ni w dziesięć nie rozumiem o co ci właściwie chodzi o.O (a mam 5+ z wróżbiarstwa na Hogwardzie !)
knefelio
Skróciłem ten post, bo faktycznie chyba zbyt dokładnie chciałem opisać prostą rzecz i stało się to nieczytelne.
kokers
a jak klikniesz ze strony głównej to jaki link się pojawia? adresstrony.pl/?strona=nowosci ? Czy może jest to ładowane ajaxem?
knefelio
Wtedy pojawia się: http://adresstrony.pl/nowosci

Skrypt jest dość rozbudowany pliki są w wiekszości na php, ale na szybko przeszukałem w kodzie dla całego folderu ze skryptem i słówko "ajax" nie pojawia sie ani razu, jesli to ma jakieś znaczenie.

EDIT: ale w rewrite teraz patrzę i jest:

RewriteRule ^nowosci$ ?strona=nowosci [L]
CuteOne
Wrzuć tu kod index.php + news.php
kalafior122
musisz zrobić zmienną GET i przypisać do niej wartość jeżeli chcesz link www.lala.pl/nowosci musisz pogrzebać w .htaccess lub zrobić folder a w nim index.php z zawartością.
  1. <a href="?strona=nowosci">nowosci</a>
CuteOne
Przecież napisał, że już to ma "oprogramowane", problem leży w samym kodzie
knefelio
w new.php jest tylko jedno echo i wyświetlenie akapitu informacyjnego, więc raczej problem lezy w index.php:

  1. <? ob_start() ?>
  2. <? require ('adm/funkcje.php');
  3. if(isset($_GET['kategoria'])) {
  4. $nr1 = htmlspecialchars(stripslashes(strip_tags(trim($_GET['kategoria']))), ENT_QUOTES);
  5. $title = nazwa_kat($nr1);
  6. }
  7. if(isset($_GET['ogl_id'])) {
  8. $nr = htmlspecialchars(stripslashes(strip_tags(trim($_GET['ogl_id']))), ENT_QUOTES);
  9. $title = tytul($nr);
  10. }
  11. ?>
  12.  
  13. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  14. <html xmlns="http://www.w3c.org/1999/xhtml" xml:lang="pl" lang="pl">
  15. <head>
  16. <link rel="Shortcut icon" href="grafika/logo.jpg"/>
  17. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  18. <title><? echo $title; ?></title>
  19. <meta name="keywords" content="">
  20. <meta name="description" content="">
  21. <meta name="classification" content="global,all">
  22. <meta name="robots" content="all,index,follow">
  23. <meta name="revisit-after" content="2 days">
  24. <link rel="stylesheet" type="text/css" href="style.css">
  25. <link rel="stylesheet" href="thumbnail_view/thumbnailviewer.css" type="text/css">
  26. <script src="thumbnail_view/thumbnailviewer.js" type="text/javascript">
  27. </script>
  28. </head>
  29. <body>
  30. <div id="fb-root"></div>
  31. <script>(function(d, s, id) {
  32. var js, fjs = d.getElementsByTagName(s)[0];
  33. if (d.getElementById(id)) return;
  34. js = d.createElement(s); js.id = id;
  35. js.src = "//connect.facebook.net/pl_PL/all.js#xfbml=1";
  36. fjs.parentNode.insertBefore(js, fjs);
  37. }(document, 'script', 'facebook-jssdk'));</script>
  38.  
  39. <div class="glowne">
  40. <div class="logo"><a href="http://<?php echo $_SERVER['HTTP_HOST']; ?>"><img border="0" src="grafika/logo2.gif" alt=""></a></div>
  41. <div class="menuGlowne">
  42. <ul id="menuGlowne">
  43.  
  44.  
  45. <br></br>
  46. <br></br>
  47.  
  48. <li> <a href="nowosci">nowosci</a></li>
  49. <br></br>
  50.  
  51. </ul>
  52. </div>
  53.  
  54. <div class="tlo_pasek_1"></div>
  55. <!-- pasek pod 1 -->
  56. <div class="tlo_pasek_2"></div>
  57. <!-- pasek pod 2 -->
  58. <!-- baner glowny -->
  59. <!--<div class="baner_1"></div> -->
  60. <!-- kreska --><!-- kreska -->
  61. <div class="lewe">
  62. <div class="lewe_box">
  63. <div class="pasekKategoria">KATEGORIE</div>
  64. <!-- kategorie -->
  65. <? require('kategorie.php'); ?>
  66. </div>
  67.  
  68. <div class="lewe_box">
  69. <div class="pasekKategoria" style="background: #143CBE;">SZUKAJ</div>
  70. <!-- szukanie size="24"-->
  71. <form method="POST" action="kat">
  72. <p><label style="padding-left:3px">Wpisz słowo:</label>
  73. <input class="input_form" style="margin: -1 3 3 3; width:184px; height: 25px; background:#f8f8f8;" type="text" name="fraza" value="<? $fraza_szukaj ?>" tabindex="1">
  74. </p>
  75. <p><input class="button" style="margin-left:85px;margin-top: -9px" type="submit" value="Szukaj" name="przycisk"></p>
  76. <a href="wyszukiwanie">Wyszukiwanie</a>
  77. <br></br>
  78. </form>
  79. </div>
  80.  
  81.  
  82.  
  83. <div class="srodek">
  84.  
  85. <?php
  86. switch($_GET['strona']) {
  87. case "nowosci": include "new.php"; break;
  88. case "kontakt": include "m_kontakt.php"; break;
  89. case "regulamin": include "m_regulamin.php"; break;
  90. case "kontakt-zgloszenie": include "kontakt_blad.php"; break;
  91. case "szukaj": include "m_szukaj.php"; break;
  92. case "error": include "error_404.php"; break;
  93. }
  94. ?>
  95. </div>
  96. <!-- end srodek -->
  97.  
  98. <div class="dolne_1"><a href="regulamin">REGULAMIN</a></div>
  99. <div class="showSmall" style="text-align: right;">Copyright Š 2012 Online: <? include ('adm/online.php'); //licznik ?></div>
  100. <div class="dolne_kreski">
  101. <SPAN style="color:black;font-weight: bold; margin-right: 5px;"></SPAN>
  102.  
  103. <div style="text-align: right; margin-top:-13px">
  104. </div>
  105. </SPAN>
  106. </div><br>
  107.  
  108. </div>
  109. <?php
  110. include ('adm/connect.php');
  111. $wykonaj= mysql_query ("SELECT smartcontext, smartcontext_code FROM platnosci WHERE platnosci_id =1");
  112. while ($wiersz = mysql_fetch_array($wykonaj))
  113. {
  114. if ( $wiersz['smartcontext'] == "1" ) {echo $wiersz['smartcontext_code']; }
  115. }
  116. ?>
  117. <!-- end glowny -->
  118.  
  119.  
  120. <script type="text/javascript">
  121.  
  122. var _gaq = _gaq || [];
  123. _gaq.push(['_setAccount', 'UA-53986428-1']);
  124. _gaq.push(['_trackPageview']);
  125.  
  126. (function() {
  127. var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
  128. ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
  129. var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  130. })();
  131.  
  132. </script>
  133.  
  134.  
  135. </body>
  136. </html>
  137.  
CuteOne
I ty za to zapłaciłeś ? Wrzuć jeszcze plik adm/funkcje.php
knefelio
funkcje.php:

  1. $sciezka_zdjec="./obrazki/";
  2.  
  3. include('connect.php');
  4.  
  5. function zamienLink($tekst)
  6. {
  7. $co = array('Ę','Ó','Ą','Ś','Ł','Ż','Ź','Ć','Ń','ę','ó','ą','ś','ł','ż','ź','ć','ń',' ');
  8. $naco = array('E','O','A','S','L','Z','Z','C','N','e','o','a','s','l','z','z','c','n','-');
  9. //zamienia na male litery nazwa kategorii
  10. $tekst = strtolower( str_replace($co, $naco, $tekst ));
  11. // usuń wszytko co jest niedozwolonym znakiem
  12. $tekst = preg_replace('/[^0-9a-z\-]+/', '', $tekst );
  13. // zredukuj liczbę myślników do jednego obok siebie
  14. $tekst = preg_replace('/[\-]+/', '-', $tekst );
  15. // usuwamy możliwe myślniki na początku i końcu
  16. $tekst = trim($tekst, '-');
  17. return $tekst;
  18. }
  19.  
  20. function tytul($nr) {
  21. $result = mysql_query("SELECT ogl_tytul FROM ogl WHERE ogl_id = '$nr'") or die(mysql_error());
  22. $row = mysql_fetch_array($result);
  23. return $row[ogl_tytul];
  24. }
  25.  
  26. function nazwa_kat($nr1) {
  27. $wykonaj= mysql_query ("SELECT kat_nazwa FROM kat WHERE kat_id = '$nr1'") or die(mysql_error());
  28. $row = mysql_fetch_array($wykonaj);
  29. return $row[kat_nazwa];
  30. }
  31.  
  32. function czas ($data) {
  33. // sprawdzam czy jest plik w katalogu
  34. //$data = $wiersz[ogl_data];
  35. $pozostalo = (time() - strtotime($data) )/ (60*60*24);
  36. //if ( floor($pozostalo)> 2) {$data = "przedwczoraj";}
  37. if ( floor($pozostalo) == 2) {$data = "przedwczoraj";}
  38. if ( floor($pozostalo) == 1) { $data = "wczoraj";}
  39. if ( floor($pozostalo) == 0) { $data = "dzisiaj";}
  40. return $data; }
Sebek87
To jest typowy-amatorski "ładowacz" podstron, switch masz w index.php, dlatego przez niego wszystko przechodzi, jeśli chcesz dosłownie wywołać plik new.php to zastosuj np. header loacation w case "nowosci":
knefelio
Ok po przeczytaniu manuala coś takiego spłodziłem:

  1. switch($_GET['strona']) {
  2. case "najnowsze": header("Location: new.php"); break;


Ale ładuje mi wtedy sam plik, można to inaczej zdefiniować?
Sebek87
Napisałeś wyżej:
Cytat
Ładowało od razu ten plik new.php a nie przenosiło na stronę główną. Da się to jakoś obejść?

a teraz:
Cytat
Ale ładuje mi wtedy sam plik, można to inaczej zdefiniować?

Sprecyzuj dokładnie o co chodzi.
knefelio
Po prostu moja mowa jest niefachowa smile.gif Wyświetla tą podstronę(new.php) co trzeba ale jest ona pozbawiona stylów - nie ładuje się w tym divie, w którym wszystkie strony skryptu.
Sebek87
Wklej zawartość htacces.
knefelio
  1. RewriteEngine on
  2.  
  3.  
  4. # strony bledow
  5. ErrorDocument 400 /error-400
  6. ErrorDocument 401 /error-401
  7. ErrorDocument 403 /error-403
  8. ErrorDocument 404 /error-404
  9. ErrorDocument 405 /error-405
  10. ErrorDocument 406 /error-406
  11. ErrorDocument 408 /error-408
  12. ErrorDocument 410 /error-410
  13. ErrorDocument 411 /error-411
  14. ErrorDocument 414 /error-414
  15. ErrorDocument 500 /error-500
  16. ErrorDocument 510 /error-510
  17.  
  18. #RewriteRule ^kontakt$ ?str=error&err=510 [L]
  19. RewriteRule ^error-([^-]+)$ ?strona=error&err=$1 [L]
  20.  
  21. RewriteRule ^aktyw&nr([0-9]+)&code([^-]+)$ ?strona=aktywacja&numer=$1&code=$2 [L]
  22. RewriteRule ^edit&nr([0-9]+)&code([^-]+)$ ?strona=edit&numer=$1&code=$2 [L]
  23. RewriteRule ^edit_foto&nr([0-9]+)&code([^-]+)$ ?strona=edit_foto&numer=$1&code=$2 [L]
  24. #RewriteRule ^edit$ ?strona=edit [L]
  25. RewriteRule ^usun&nr([0-9]+)&code([^-]+)$ ?strona=usuniecie&numer=$1&code=$2 [L]
  26. RewriteRule ^[a-z0-9\-]+-o([0-9]+).html$ ?strona=ogloszenia_show&ogl_id=$1 [L]
  27.  
  28. RewriteRule ^([^.]+)-k([0-9&p=]+)$ ?strona=ogloszenia&nazwa_kat=$1&kategoria=$2 [L]
  29.  
  30. RewriteRule ^ogloszenia$ ?strona=ogloszenia [L]
  31. RewriteRule ^kontakt$ ?strona=kontakt [L]
  32. RewriteRule ^kontakt-zgloszenie$ ?strona=kontakt-zgloszenie [L]
  33. RewriteRule ^info$ ?strona=info [L]
  34. RewriteRule ^najnowsze$ ?strona=najnowsze [L]
  35. RewriteRule ^wyszukiwanie$ ?strona=szukaj [L]
  36. RewriteRule ^add-ogloszenie$ ?strona=add-ogloszenie [L]
  37. RewriteRule ^regulamin$ ?strona=regulamin [L]
CuteOne
Powiem krótko - zainwestuj swój czas w naukę PHP i HTML lub zleć przeróbki komuś kto się na tym zna. Twój problem to nie źle napisany skrypt ale próby zmian bez chociażby podstawowej wiedzy.

Jeżeli chcesz aby style były ładowane stwórz dodatkowy layout, do którego zaciągaj odpowiednie pliki.
knefelio
Cytat(CuteOne @ 7.11.2012, 21:59:35 ) *
mam 5+ z wróżbiarstwa na Hogwardzie


Cytat(CuteOne @ 8.11.2012, 10:05:15 ) *
problem leży w samym kodzie


Cytat(CuteOne @ 9.11.2012, 08:28:19 ) *
I ty za to zapłaciłeś ?


Cytat(CuteOne @ 10.11.2012, 13:45:01 ) *
Twój problem to nie źle napisany skrypt



Napisałeś w tym temacie 5 postów, nie dość, że żaden nie przybliżył do rozwiązania problemu to w dodatku jest to jeden sprzeczny ze sobą bełkot - nie dziwie się, że masz nabite tyle postów. Prosze cię byś zingnorował ten temat i się w nim juz więcej nie wypowiadał.
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.