Frage

hier ist also meine erste echte Codierungsfrage im Web, da ich normalerweise versuche, selbst etwas herauszufinden, aber zu seiner Zeit stecke ich wirklich fest.

Um zu sehen, was ich bisher habe: siehe diese Webseite


Was ich erreichen möchte:

Die Firma, für die ich gerade arbeite, möchte, dass ich einen "Assistenten" erstelle, der ein WLAN-Problem löst, indem ich Ihre Situation auswähle und darauf aufbaue.Am Ende muss es in eine Joomla-basierte Website implementiert werden, also dachte ich mir, der richtige Weg wäre, alles auf eine Seite zu laden.


Wie ich es angehe

Ich habe zuerst nach einer Möglichkeit gesucht, andere Seiten auf eine Hauptseite zu laden.Ich habe dies durch die Verwendung von JavaScript erreicht (Gefunden auf dieser Website)

Nachdem ich das herausgefunden hatte, fing ich an, meine "Follow-up" -Seiten zu erstellen, und alles lief gut, bis ich zu einer Seite kam, die ihren Inhalt durch Abrufen des URL-Parameters filterte.

Für die Leute, die an der Tooltip-Funktion interessiert sind, siehe [diese Seite] [3]


Was ist das Problem

Ich benutze eine If Else-Schleife, um die möglichen Optionen herauszufiltern, und wenn keine davon gefunden wird, sollte die Seite mir Folgendes geben "Het ziet er naar uit dat er iets fout is gegaan" oder auf Englisch "Es scheint, dass etwas schief gelaufen ist".Da dies die Nachricht ist, die ich bekomme, ist tatsächlich etwas schief gelaufen.Und nachdem ich meinen Code immer wieder durchgesehen hatte, dachte ich, es könnte an dem URL-Parameter liegen, den er nicht erfasst.

Ich dachte daran, einen statischen Seitenlink zu erstellen (verlinke einfach die Schaltfläche mit einer eindeutigen Seite), aber ich habe einige Berechnungen durchgeführt, und damit das funktioniert, würde ich ungefähr 70 Seiten benötigen, was sich wie eine Verschwendung anfühlt.


Codes

Das ist bisher mein Code:

Meine Hauptseite

    <!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>

Inhalt meiner zweiten Seite

               <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>       

Meine URL-Parameterseite

            <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 "-";
            }                   



            ?>

Entschuldigung, wenn mein Code unklar ist, ich muss mich an die gesamten Einfügecodes auf Websites gewöhnen, aber zumindest habe ich es versucht.


Also für die TL; DR menschen unter uns.kurz:

Ich muss eine PHP-Seite mit URL-Parametern filtern, aber sie scheint den Parameter nicht zu erfassen, da sich die URL nicht direkt ändert.

Um zu sehen, was ich bisher habe: siehe diese Webseite

Danke im Voraus!

War es hilfreich?

Lösung

Es sieht so aus, als ob der Parameter, der an die AJAX-Anforderung angehängt wird, sich von dem Parameter unterscheidet, nach dem der PHP-Code sucht.

Wenn Sie auf Ihrer Assistenten-Startseite auf "Mein Internet ist zu langsam" klicken (die erste Schaltfläche, die von Google Translate übersetzt wurde).) Wenn Sie dann auf eine der drei Schaltflächen klicken, erhalte ich die von Ihnen beschriebene Fehlerseite.Die angeforderte URL lautet /detail.php?id=010, aber Ihr PHP-Schnipsel sagt, dass die Schrift nach einem sucht prob Parameter ABRUFEN.

Versuchen Sie, den Parameter anzupassen, an den gesendet wird prob oder der Parameter, nach dem das PHP-Skript sucht id.

Andere Tipps

Sie sollten die Werte, mit denen Sie vergleichen, in Anführungszeichen setzen.Beispielsweise, 010 würde als Oktal interpretiert werden.

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

Und so weiter.

bearbeiten:Wie von Noah erwähnt, wird in der URL auch kein "prob" -Parameter übergeben, sondern nur "id".Sie würden also zuweisen $prob = $_GET['id'].

Zusätzlich zu den bereits markierten Punkten von Noah Freisitas und dan , ich würde empfehlen, dass Sie einen PHP wechseln , um durch alle möglichen Werte zu reisen, deren Reiniger und die Standardoption können Sie einen Fehlerwert zurückgeben, wenn nichts gefunden wird.

Überprüfen Sie auch Ihre Variablen mit isset () , nicht Setzen Sie ihre Anwesenheit an, sonst:

  • Sie nehmen zu lange, um Ihr Skript zu debuggen;
  • Erkenne nicht, ob alles passiert wird;
  • kann eine PHP-Bekanntmachung (Notice: Undefined variable oder Notice: Undefined index) ;
  • erhalten
  • usw ..

PHP-Beispiel basierend auf Ihrem Code

generasacodicetagpre.

In Verbindung mit Ihrem Skript müssen Sie nicht so viele doppelte Zitate verwenden:

generasacodicetagpre.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top