문제

그래서 여기에 웹상에서 처음으로 실제 코딩 질문이 있습니다. 일반적으로 저는 스스로 뭔가를 찾으려고 노력하지만 그의 시간에는 정말 막히게 됩니다.

내가 지금까지 가지고 있는 것을 보려면: 이 웹페이지를 참조하세요


내가 달성하고 싶은 것:

제가 현재 근무하고 있는 회사에서는 귀하의 상황을 선택하고 이를 확장하여 WiFi 관련 문제를 해결하는 "마법사"를 만들길 원합니다.결국에는 Joomla 기반 웹사이트에 구현되어야 하므로 모든 것을 한 페이지에 로드하는 것이 최선의 방법이라고 생각했습니다.


내가 어떻게 접근하고 있는지

나는 먼저 다른 페이지를 하나의 메인 페이지에 로드하는 방법을 찾아보았습니다.저는 JavaScript(이 웹사이트에서 발견됨)

그것을 파악한 후 "후속" 페이지를 만들기 시작했고 URL 매개변수를 잡아서 내용을 필터링하는 페이지에 도달할 때까지 모든 것이 순조롭게 진행되었습니다.

툴팁 기능에 관심이 있는 사람들은 [이 페이지][3]를 참조하세요.


뭐가 문제 야

가능한 옵션을 필터링하기 위해 If Else 루프를 사용하고, 이들 중 아무 것도 발견되지 않으면 페이지에 다음과 같은 메시지가 표시되어야 합니다. "Het ziet er naar uit dat er iets fout is gegaan" 또는 영어로 "뭔가 나타납니다." 잘못됐어."이것이 내가 받은 메시지이기 때문에 실제로 뭔가 잘못되었습니다.그리고 내 코드를 계속해서 살펴본 후, URL 매개변수가 파악되지 않기 때문일 수 있다는 것을 알았습니다.

정적인 페이지 링크(버튼을 고유한 페이지에 연결하기만 하면 됨)로 할까 생각했는데 계산을 해보니 70페이지 이상이 필요해서 아깝다는 생각이 듭니다.


코드

이것은 지금까지 내 코드입니다.

내 메인 페이지

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>EnGenius WiFi Wizard</title>
    <link href="css/style.css" rel="stylesheet" type="text/css" />
    <script language="javascript" type="text/javascript" src="js/jquery.js"></script>
    <script language="javascript" type="text/javascript" src="js/script.js"></script>

    </head>

    <body>
    <script type="text/javascript">
    function loadContent(elementSelector, sourceUrl) {
    $(""+elementSelector+"").load(""+sourceUrl+"");
    }
    </script>
<div id="content">
  <h1>De WiFi Wizard</h1>
    <h3>Snel en gemakkelijk een draadloze oplossing</h3>

  <div id="btnholder" style="margin-top:15px;">
            <a href="javascript:loadContent('#content', 'speed.php');"><div         id="button">Mijn internet is te langzaam</div></a>
            <a href="javascript:loadContent('#content', 'router.php');"><img         src="images/tip.png" style="float:left; margin-left:3px;" alt="WiFi tip" width="15"         height="15" onmouseover="tooltip.show('Internet snelheid word ook wel aangeduid met het         woord Bandbreete', 250);"
    onmouseout="tooltip.hide();" />
            <div id="button" style="margin-left:10px;">Ik heb een router nodig,         Maar weet niet welke</div></a><img src="images/tip.png" style="float:left; margin-        left:3px;" alt="WiFi tip" width="15" height="15" onmouseover="tooltip.show('Een router is         een apparaat wat een netwerk met het internet verbind', 250);"
    onmouseout="tooltip.hide();" />
  </div> 
    <h3>Wat is Wifi eigenlijk?</h3><br />

    <h4>WiFi is een verzameling van standaarden voor draadloze netwerken.

    Wat houdt dit nou precies in?
    Heel makkelijk gezegd: Internetten zonder lastige lange kabels! 
    Je kunt bv met jouw laptop lekker op de bank zitten en genieten van internet.<br />        <br />

    Als je thuis een draadloos netwerk wilt dan heb je een product nodig waar dus de         standaard/naam ‘802.11’ op staat.<br />
    Helaas zijn we in Nederland een behoorlijk bepakt (woon)gebied. Hierdoor kun je         bijvoorbeeld storing hebben op jouw (technische) producten die je thuis gebruikt.<br /><br         />

    Ook met WiFi kunnen er situaties voorkomen waarbij je geen optimaal gebruik kunt         maken van de oplossingen die worden aangeboden.<br /><br />
    Via deze website kom je op de hoogte wat nou al die termen eigenlijk betekenen en
    welke oplossingen er zijn voor bepaalde situaties, kortom je wordt een echte WiFi         kenner!<br />
    <br />
    </h4>       
</div>

    </body>
    </html>

내 두 번째 페이지 콘텐츠

               <h1>De WiFi Wizard</h1>
            <h3>Dus u heeft een probleem met de snelheid van uw internet? Dat gaan we oplossen!</h3>
            <h3 style="font-size:10pt; color:#666666;">Wat is de afstand tussen uw computer en uw router?</h3>

            <div id="btnholder" style="margin-top:15px;">
            <a href="javascript:loadContent('#content', 'detail.php?prob=010');"><div id="button">0-10 Meter</div></a>
            <a href="javascript:loadContent('#content', 'detail.php?prob=1030');"><div id="button" style="margin-left:10px;">10-30 Meter</div></a>
            <a href="javascript:loadContent('#content', 'detail.php?prob=30');"><div id="button" style="margin-top:10px; margin-left:90px;">Meer dan 30 Meter</div></a>
            </div> 
            <br />
            <h3>Waarom is afstand zo belangrijk?</h3>
            <br />

            <h4>Een WiFi signaal reist door de lucht, en kan worden verstoord door veel verschillende dingen zoals, muren, plafonds, andere apparaten, en andere WiFi signalen.</h4>
            <h4>Daarnaast verliest een signaal na verloop van tijd zelf ook sterkte, net als met geluid dat je over een grotere afstand steeds slechter hoort. </h4>
            <h4>Stel je voor dat je het signaal sterker kan maken, door een ander apparaat te gebruiken. Dat kan, omdat wij  altijd onderdelen van hoge kwaliteit gebruiken, kunnen wij ervoor zorgen dat uw WiFi signaal een beter bereik heeft, en u dus een snellere verbinding krijgt.<br />
            <br />
            </h4>       

내 URL 매개변수 페이지

            <h1>De WiFi Wizard</h1>
            <?php   

            $prob = $_GET["prob"]; 

            if ($prob == 010)
            {
            echo "<h3 style='font-size:10pt; color:#666666;'>Nu we de aftand weten moeten we uitvinden hoeveel mensen er gebruik maken van het netwerk</h3>";
            } 

            if ($prob == 1030){ 

            echo "<h3 style='font-size:10pt; color:#666666;'>Nu we de aftand weten moeten we uitvinden hoeveel muren en/of plafonds er zich tussen de computer en de router bevindenk</h3>";
            }

            if ($prob == 30){ 

            echo "<h3 style='font-size:10pt; color:#666666;'>Nu we de aftand weten moeten we uitvinden hoeveel mensen er gebruik maken van het netwerk</h3>";
            }

            else{
            echo "<h3 style='font-size:10pt; color:#666666;'>Het ziet er naar uit dat er iets fout is gegaan</h3>";
            }                   



            ?>

            <div id="btnholder" style="margin-top:15px;">
            <?php   

            $prob = $_GET["prob"]; 

            if ($prob == 010)
            {
            echo "<a href='javascript:loadContent('#content', 'users.php?amnt=15');'><div id='button'>1-5 gebruikers</div></a>
            <a href='javascript:loadContent('#content', 'users.php?amnt=5');'><div id='button'>Meer dan 5 gebruikers</div></a>";
            } 

            if ($prob == 1030){ 

            echo "<a href='javascript:loadContent('#content', 'pen.php?amnt=none');'><div id='button'>Geen plafonds of muren</div></a>
            <a href='javascript:loadContent('#content', 'pen.php?amnt=1');'><div id='button'>1 Muur of Plafond</div></a>
            <a href='javascript:loadContent('#content', 'pen.php?amnt=2');'><div id='button'>2 Muren of Plafonds</div></a>
            <a href='javascript:loadContent('#content', 'pen.php?amnt=more');'><div id='button'>Meer dan 2 muren of plafonds</div></a>";
            }

            if ($prob == 30){ 

            echo "<a href='javascript:loadContent('#content', 'users.php?amnt=15');'><div id='button'>1-5 gebruikers</div></a>
            <a href='javascript:loadContent('#content', 'users.php?amnt=5');'><div id='button'>Meer dan 5 gebruikers</div></a>";
            }

            else{
            echo "-";
            }                   



            ?>

            </div> 
            <br />  
            <?php   

            $prob = $_GET["prob"]; 

            if ($prob == 010)
            {
            echo "<h3>Wat Maakt het aantal gebruikers uit?</h3>
            <br />

            <h4>Het aantal gebruikers bepaalt de hoeveelheid data die er word gebruikt binnen een netwerk. Hoe meer gebruikers er op een netwerk zitten, des te meer data word er gebruikt.<br />
            <br />Als het netwerk dit niet aankan, betekent het dat u een onstabiel, en traag netwerk krijgt, waardoor u niet optimaal van uw internet kunt genieten.</h4>";
            } 

            if ($prob == 1030){ 

            echo "<h3>Wat Maakt het aantal muren of plafonds uit?</h3>
            <br />

            <h4>Waneer een WiFi signaal door muren of plafonds heen reist, neemt het in sterkte af. Dus hoe meer obstakels er tussen uw router, en uw computer staan, des te zwakker het signaal.<br />
            <br />Door middel van de juiste onderdelen, denk bijvoorbeeld aan antenna's, kun je een sterker signaal creëren dat zich verder kan verspreiden.</h4>";
            }

            if ($prob == 30){ 

            echo "<h3>Wat Maakt het aantal gebruikers uit?</h3>
            <br />

            <h4>Het aantal gebruikers bepaalt de hoeveelheid data die er word gebruikt binnen een netwerk. Hoe meer gebruikers er op een netwerk zitten, des te meer data word er gebruikt.<br />
            <br />Als het netwerk dit niet aankan, betekent het dat u een onstabiel, en traag netwerk krijgt, waardoor u niet optimaal van uw internet kunt genieten.</h4>";
            }

            else{
            echo "-";
            }                   



            ?>

내 코드가 불분명하다면 죄송합니다. 웹 사이트에 코드를 붙여넣는 데 익숙해져야 하지만 적어도 시도해 보았습니다.


그래서 TL;DR 우리 중의 사람들.간단히 말해서:

URL 매개변수로 PHP 페이지를 필터링해야 하는데 URL이 직접 변경되지 않기 때문에 매개변수를 가져올 수 없는 것 같습니다.

내가 지금까지 가지고 있는 것을 보려면: 이 웹페이지를 참조하세요

미리 감사드립니다!

도움이 되었습니까?

해결책

AJAX 요청에 추가되는 매개변수가 PHP 코드가 찾는 매개변수와 다른 것 같습니다.

마법사 홈 페이지에서 "내 인터넷이 너무 느립니다"(Google 번역으로 번역된 첫 번째 버튼)를 클릭하면 세 버튼 중 하나를 클릭하면 설명하는 오류 페이지가 나타납니다.요청된 URL은 다음과 같습니다. /detail.php?id=010, 그러나 귀하의 PHP 스니펫에는 스크립트가 다음을 찾고 있다고 나와 있습니다. prob 매개변수를 얻습니다.

전송되는 매개변수를 조정해 보세요. prob 또는 PHP 스크립트가 찾고 있는 매개변수 id.

다른 팁

당신이 비교 한 가치 주위에 인용문을 넣어야합니다.예를 들어, 010는 8 진수로 해석됩니다.

if ($prob == '010') {
    ...
} else if ($prob == '1030') {
    ...
}
.

등등.

편집 : 또한 노아가 언급 한 바와 같이 "prob"매개 변수가 URL에서 "ID"라는 URL에 전달됩니다.그래서 당신은 $prob = $_GET['id']를 할당 할 것입니다.

노아 freitas DAN , PHP 스위치 모든 가능한 값을 이동하도록 클리너 및 기본 옵션을 사용하면 아무 것도 찾을 수없는 경우 오류 값을 반환 할 수 있습니다.

또한 Isset () 를 사용하여 변수를 확인하십시오. 그들의 존재를 가정하고, 그렇지 않으면 :

  • 스크립트를 디버깅하는 데 너무 오래 걸립니다.
  • 는 아무것도 통과하는지 알지 못한다.
  • 는 PHP 통지 (Notice: Undefined variable 또는 Notice: Undefined index) ;
  • 등 ..

코드

에 따라 PHP 예제
<?php   

// check if variable is present to use it or pass empty
$prob = (isset($_GET["id"])) ? ($_GET["id"]) : (''); 

// switch by all possible values
switch ($prob) {

  case "010":
    echo "bla bla bla";
    break;

  case "1030":
    echo "bla bla bla";
    break;

  case "30":
    echo "bla bla bla";
    break;

  default:
    // This case matches anything that wasn't matched by the other cases
    // output error, or something...
    echo "-";
    break;

}

?>
.

스크립트와 관련하여 많은 큰 따옴표를 사용할 필요가 없습니다.

<script type="text/javascript">
function loadContent(elementSelector, sourceUrl) {
  $(elementSelector).load(sourceUrl);
}
</script>
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top