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

Wyszukiwarka podstron

+1 głos
318 wizyt
pytanie zadane 7 listopada 2021 w PHP przez michal9207 Nowicjusz (220 p.)

Witam,

Potrzebuję stworzyć wyszukiwarkę podstron, która po wpisaniu do inputu tekstu( np. 1234), przeniesie użytkownika na podstronę "1234.html", a jeśli użytkownik wpisze nazwę podstrony, której nie ma, to przeniesie go na stronę "error.html".

Próbowałem robić to w PHP przy pomocy funkcji file_exists i header (zamieszczam poniżej), ale po kliknięciu "submit" pokazywała się tylko pusta strona.

Dziękuję za wszystkie podpowiedzi

<?php

if(isset($_POST['input-order-number'])){

    $strona = '/zamowienia/'.$_POST['input-order-number'].’.html’;

    if(file_exists($strona)){

        header('Location:' .$strona);

} else {

    header('Location: zamowienia/search-error.html');

}

}

?>

 

 

1 odpowiedź

0 głosów
odpowiedź 7 listopada 2021 przez VBService Ekspert (256,600 p.)
wybrane 7 listopada 2021 przez michal9207
 
Najlepsza

Problem stanowi chyba tutaj ten znak ’.html’

spróbuj tak

<?php 
if(isset($_POST['input-order-number'])) {
    // $strona = "/zamowienia/{$_POST['input-order-number']}.html";  
    $strona = '/zamowienia/'.$_POST['input-order-number'].'.html';
 
    if(file_exists($strona)) { 
        header("Location: $strona");
    } else { 
        header('Location: zamowienia/search-error.html'); 
    } 
} 
?>

 

komentarz 7 listopada 2021 przez michal9207 Nowicjusz (220 p.)

Cały czas nie działa. Po kliknięciu "submit", pojawia się pusta strona, jedynie z dodanym napisem, ale nic się nie dzieje. Poniżej zamieszczam pełny html i php.

<input type="text" placeholder="Wpisz numer zamówienia" class="input-order-number" id="input-order-number" required  onfocusout="checkinput()"/>

<input type="submit" id="send" value="Wyszukaj" onfocus="checkbutton()"/>
<!DOCTYPE html>
<html>
<head>

<title> Wyniki wyszukiwania </title>

</head>
 <body>

 <?php 
if(isset($_POST['input-order-number'])) {
    // $strona = "/zamowienia/{$_POST['input-order-number']}.html";  
    $strona = '/zamowienia/'.$_POST['input-order-number'].'.html';
  
    if(file_exists($strona)) { 
        header("Location: $strona");
    } else { 
        header('Location: zamowienia/search-error.html'); 
    } 
} 
?>



<h1> Wyniki wyszukiwania</h1>

</body>
</html>

 

komentarz 7 listopada 2021 przez VBService Ekspert (256,600 p.)

Polecenia header można użyć tylko przed wysłaniem zawartości strony do przeglądarki

czyli

<?php 
if(isset($_POST['input-order-number'])) {
    $strona = "zamowienia/{$_POST['input-order-number']}.html";
   
    if(file_exists($strona)) { 
        header("Location: $strona");
    } else { 
        header('Location: zamowienia/search-error.html'); 
    } 
} 
?>
<!DOCTYPE html>
<html>
  <head>
 
    <title>Pokaż zamówienie</title>
 
  </head>
  <body> 
 
    <h1>Pokaż zamówienie</h1>
    <form method="post">
      <input type="text" placeholder="Wpisz numer zamówienia" 
                         class="input-order-number" 
                         id="input-order-number"
                         name="input-order-number"  
                         required onfocusout="checkinput()" /> 
      <input type="submit" id="send" value="Wyszukaj" onfocus="checkbutton()" />
    </form>
 
  </body>
</html>

no i "zapomniałeś" name="input-order-number"  wink

1
komentarz 7 listopada 2021 przez michal9207 Nowicjusz (220 p.)

Teraz działa. Dzięki, jesteś wielki! heart

Podobne pytania

0 głosów
1 odpowiedź 291 wizyt
+1 głos
1 odpowiedź 362 wizyt
pytanie zadane 19 lipca 2016 w HTML i CSS przez Kamil Czech Dyskutant (7,700 p.)
0 głosów
2 odpowiedzi 2,251 wizyt
pytanie zadane 28 czerwca 2016 w Sieci komputerowe, internet przez Kamil Czech Dyskutant (7,700 p.)

93,424 zapytań

142,420 odpowiedzi

322,637 komentarzy

62,782 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

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...