Ankündigung

Einklappen
Keine Ankündigung bisher.

Fehler im Skript wer kann helfen?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Fehler im Skript wer kann helfen?

    Hallo Leute ich zerbrech mir schon ein paar Stunden den Kopf und finde einfach nicht den Fehler. ich bin aber auch nicht so fit was Ajax und co betrifft vielleicht kann jemand helfen?
    Source von fill.php
    PHP-Code:
    <?php
        
    include 'conn.php';
        if(isset(
    $_POST['code']))
        {
            
    $SQL "SELECT * FROM test.dbo.city WHERE CountryCode = '".$_POST['code']."'";
            
    //print_r($_POST['code']);
            
            
    $query sqlsrv_query($conn,$SQL);
            
    /*
            if (sqlsrv_num_rows($query) === false)
                echo '<option >Keine Datensätze gefunden </option>';
        }    else{
                
                */
                
    while ($row sqlsrv_fetch_array($query)){
                    
    $res "<option ";
                    
                    
    $res .= "value'"$row['ID'] . "' >";
                    
    $res .= $row['Name'];
                    
    $res .= "</option>";
                    echo 
    $res;    
                }
        }
    } else {
            echo
    '<option>error</option>';
    }
    ?>
    Sourcecode von Index.php:

    PHP-Code:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8" http-equiv="Content-Type">
            <title>Fill Select using TSQL, PHP, JQUERY AJAX</title>
            
            <script src="jquery-1.11.1.min.js"></script>

            <!--<script src="http://code.jquery.com/jquery-latest.js"></script> -->
            
            <script>
            $(document).ready(function(){
                $('#cnt').change(function(){
                    var code = $(this).val();
                    //alert(code); //testing
                    var data = 'code='+code;
                    alert(code); //testing
                    $.ajax({
                     type : "POST",
                     url : "fill.php",
                     data : data,
                     cache : false,
                     success : function(html)
                     {
                        $('#city').html(html);
                     }
                     
                     
                    }); 
                });
            });
            
            </script>
        </head>
        <body>
            <form method"POST">
                <select name="cnt" id="cnt">
                    <?php
                        
    include 'conn.php';
                        
    $SQL "SELECT * FROM test.dbo.country";
                        
    $query sqlsrv_query($conn,$SQL);
                        while (
    $row sqlsrv_fetch_array($query))
                            {
                                
    $res "<option ";
                                
    $res .= "value'".$row['Code']."'>";
                                
    $res .= $row['Name'];
                                
    $res .= '</option>';
                                echo 
    $res;                
                            }
                    
    ?>
                    </select>
                    <br/>
                    <select name"city" id="city">
                        <option selected="selected">City go here </option>
                    </select>    
                
        </body>
    </html>
    dann habe ich noch eine conn.php aber hier stehen nur die reinen Login Daten für den MS-SQL Server

    Das Skript scheint es nicht hinzubkekommen die fill.php zu durchlaufen denn ich bekomme weder eine Fehlermeldung im Menu City noch eine anderen Eintrag das Menü ist einfach leer

  • #2
    Das Skript scheint es nicht hinzubkekommen die fill.php zu durchlaufen denn ich bekomme weder eine Fehlermeldung im Menu City noch eine anderen Eintrag das Menü ist einfach leer
    mir scheint dfir fehlt:
    http://php-de.github.io/#debugging

    Kommentar


    • #3
      genau deswegen bin ich hier! ich kann mir mit php diverse variablen ausgeben lassen aber ich weiß nicht wie ich die fehlerdiagnose für Ajax machen soll. Deswegen hoffe ich auf eure hilfe.

      Kommentar


      • #4
        Nur so nebendran. Nutze doch html5. und nicht 4.01..

        Kommentar


        • #5
          Zitat von tutter Beitrag anzeigen
          genau deswegen bin ich hier! ich kann mir mit php diverse variablen ausgeben lassen aber ich weiß nicht wie ich die fehlerdiagnose für Ajax machen soll. Deswegen hoffe ich auf eure hilfe.
          das oder ähnliches:
          https://developer.mozilla.org/de/docs/Tools/Web_Konsole
          https://addons.mozilla.org/de/firefo...web-developer/

          stimmt, gehört irgendwo unter entwicklungsumgebung.

          Kommentar


          • #6
            Hast du mal versucht die fill.php so aufzurufen (also direkt im Browser, ohne Ajax), ob dann der gewünschte Code angezeigt wird? Durch deinen Kommentar nach der $query Variable ist im geposteten Code von fill.php jetzt nämlich eine geschweifte Klammer zu viel.

            Ansonsten lassen sich Ajax-Aufrufe prima über die bereits genannten Entwickler-Tools debuggen. Auch wenn der Aufruf asynchron ist.

            Kommentar


            • #7
              Bitte aussagekräftige Threadtitel verwenden
              Für deinen SQL-Query doch mal in MSSQL Studio (Expresss) aus - die Datenbank scheint nicht richtig angebeben, das .dbo ist ausm Bauch heraus falsch. Auf die Tabelle referenzieren sollte eigentlich reichen, eckige Klammern würden auch nicht schaden
              I like cooking my family and my pets.
              Use commas. Don't be a psycho.
              [URL="http://jscouch.de"]Blog[/URL] - [URL="http://coverflowjs.github.io/coverflow/"]CoverflowJS[/URL]

              Kommentar


              • #8
                Ich befürchte was... bitte zeige aber erst dein conn.php, mache die Verbindungsdaten unkenntlich
                ich habe bei deinem String auch noch ein Fehler entdeckt:
                Code:
                $res .= "value'". $row['ID'] . "' >";
                Gleichheitszeichen fehlt:
                Code:
                $res .= "value='". $row['ID'] . "' >";
                Weitere Fehler:
                1.
                Code:
                <select name"city" id="city"> 
                   <option selected="selected">City go here </option> 
                </select>
                Code:
                <select name"city" id="city"> 
                   <option selected>City go here </option> 
                </select>
                Attribut selected hat keinen Wert!

                2.
                Code:
                 <form method"POST">
                Attribut = "Wert"
                Code:
                <form method="POST">

                schlampig...
                mfg Alexander
                PHP-Code:
                if($happy)
                   
                $happy false

                Kommentar


                • #9
                  Zitat von akdes Beitrag anzeigen
                  Attribut selected hat keinen Wert!
                  Doch, es ist beides richtig.

                  Zitat von akdes Beitrag anzeigen
                  Code:
                  <form method="POST">
                  Bei HTML4 muss es method="post" (also klein) heißen, wie es bei HTML5 ist weiß ich jetzt nicht.

                  Kommentar


                  • #10
                    Zitat von tk1234 Beitrag anzeigen
                    Doch, es ist beides richtig.
                    nach W3C nicht...
                    nach html gibts keinen Fehler, weil in HTML gar keine gibt =D

                    Zitat von tk1234 Beitrag anzeigen
                    Bei HTML4 muss es method="post" (also klein) heißen, wie es bei HTML5 ist weiß ich jetzt nicht.
                    nach W3C stimmt...
                    nach html egal, da nicht sensibel...
                    The value is case-insensitive (user agents interpret "a" and "A" as the same).
                    bei xhtml ist schon wieder was anderes
                    mfg Alexander
                    PHP-Code:
                    if($happy)
                       
                    $happy false

                    Kommentar


                    • #11
                      Zitat von tk1234 Beitrag anzeigen
                      Bei HTML4 muss es method="post" (also klein) heißen, wie es bei HTML5 ist weiß ich jetzt nicht.
                      http://www.edition-w3.de/TR/1999/REC...act/forms.html

                      -> "method = get|post [CI]" | CI = Im Wert wird nicht zwischen Groß- und Kleinschreibung unterschieden (case-sensitive), d.h., Benutzerprogramme interpretieren »a« und »A« gleich.
                      Gruß,
                      SebTM

                      Kommentar


                      • #12
                        Zitat von akdes Beitrag anzeigen
                        nach W3C nicht...
                        Doch. Hast du den Validator befragt?

                        Zitat von akdes Beitrag anzeigen
                        nach W3C stimmt...
                        nach html egal, da nicht sensibel...
                        HTML4 oder 5? bei 5 ist es evtl. egal, bei 4 meine ich dass der Validator mal gemeckert hat. Moment, evtl. muss es nur bei xhtml kleingeschrieben werden, das kann sein - egal, das Gleichheitszeichen muss auf jeden Fall hin

                        Kommentar


                        • #13
                          Hallo,

                          um diese Diskussion über das Attribut "method" im Bezug auf den <form>-Tag zu beenden:

                          lt. W3C-Validator welcher nach den jeweiligen Spezifikationen des gewählten Standards prüft ergibt sich folgendes Ergebnis:
                          Code:
                          XHTML 1.0 Strict, XHTML 1.0 Transitional 
                          value of attribute "method" cannot be "POST"; must be one of "get", "post"
                          
                          HTML 4.01 Strict, HTML 4.01 Transitional sowie HTML5
                          ist es egal ob es GET und POST, get und post oder auch gEt oder PoSt ist!
                          Gruß,
                          SebTM

                          Kommentar


                          • #14
                            leider nicht!




                            samsung tab 4 7.0 tasche

                            Kommentar


                            • #15
                              Ich hab mal die conn.php angehangen.
                              Aber die sollte eigentlich richtig sein.
                              Die Fehler habe ich rausgenommen und laufe aber in fill.php immer auf error als Ausgabe.

                              PHP-Code:
                              <?php
                                   
                              $serverName 
                              'TESTSQL'//serverName\instanceName
                              $connectionInfo = array( "Database"=>"test""UID"=>"test""PWD"=>"test");
                              $conn sqlsrv_connect$serverName$connectionInfo);

                              if( 
                              $conn ) {
                                   echo 
                              "Connection established.<br />";
                              }else{
                                   echo 
                              "Connection could not be established.<br />";
                                   die( 
                              print_rsqlsrv_errors(), true));
                              }
                              ?>

                              Kommentar

                              Lädt...
                              X