Ankündigung

Einklappen
Keine Ankündigung bisher.

Einfaches Script geht nicht

Einklappen

Neue Werbung 2019

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

  • Einfaches Script geht nicht

    Hey.

    ich habe schon kenntnisse in anderen Programmiersprachen und deshalb hab ich schon so meine erfahrungen.

    ich wolllte mir ein einfaches Template erstellen jedoch scheiter ich irgendwie

    die index datei:
    PHP-Code:
    <?php
    error_reporting
    (E_ALL);
    ini_set('display_errors'1);

    //include 'constants.php';
    //include 'functions.php';
    //include 'classes.php';
    include 'variables.php';

    echo 
    'test';

    $db = @new MySQLi('...''...''...''...');

    if (
    mysqli_connect_errno()) {    
        echo 
    'Konnte keine Verbindung zu Datenbank aufbauen, MySQL meldete: '.mysqli_connect_error();
    } else {
        if (isset(
    $_GET['section'], $dateien[$_GET['section']])) {
            if (
    file_exists('includes/'.$dateien[$_GET['section']])) {            
                include 
    'includes/'.$dateien[$_GET['section']]; 
            } else {            
                echo 
    "Include-Datei konnte nicht geladen werden: 'includes/".$dateien[$_GET['section']]."'";
            }
        } else {
            
    // default bereich laden, news
            //Nur zum testen ob überhaupt was geladen wird
            
    include 'templates/error.tpl';
        }
    }
    echo 
    'test danach';
    ?>
    die variablen.php
    PHP-Code:
    <?php
    $dateien 
    = array();
    $dateien['register'] = 'register.php';
    $dateien['login'] = 'login.php';
    $dateien['logout'] = 'logout.php';
    ?>
    Die error.tpl
    Code:
    <p class="error">
        <?php echo 'Ein Fehler ist entsanden'; ?>
    </p>
    Jedoch wird weder eine include geladen, noch das echo test danach ausgegeben und ich steh momentan auf dem Schlauch. Hat einer ne Idee was ich falsch mache?
    Das echo ganz am anfang passt


  • #2
    Hi.

    So beim ersten Überfliegen: ich denk, du hast einen Fehler hier:

    PHP-Code:
    $db = @new MySQLi('...''...''...''...');

    if (
    mysqli_connect_errno()) { 
    schau mal hier die Beispiele an:

    PHP: mysqli->connect_errno - Manual

    Wolf29
    while (!asleep()) sheep++;

    Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

    Kommentar


    • #3
      PHP-Code:
      $db = @new MySQLi('...''...''...''...'); 
      Warum unterdrückst du hier Fehlermeldungen? Lass mal das @ da weg, vermutlich bricht dein Skript genau hier ab.
      @fschmengler - @fschmengler - @schmengler
      PHP Blog - Magento Entwicklung - CSS Ribbon Generator

      Kommentar


      • #4
        Hey thx für die Antworten.

        und genau da liegt wohl der Fehler.

        Ich hab daraufhin festgestellt, dass mir die komplette classenstrucktur MySQLi
        fehlt.

        ich habe die ganzen bsp aus einem TuT.

        Ich habe die ersten paar kapitel nur groß überflogen, da alles eh so ziehmlich das gelche ist mit den variablen usw.

        Dabei hab ich den teil wohl übersehen.

        Ich muss mal schaun ob ich den teil finde^^

        Kommentar


        • #5
          ...ich sag mal nichts dazu.......aber du hast es ja noch selber gemerkt!

          Wolf29
          while (!asleep()) sheep++;

          Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

          Kommentar


          • #6
            Hey also ich nochmal

            Was hab ich wohl für ein tolles tut erwischt, dort steht zwar, dass es die classenstrucktur verwendet wird und dort ist auch beschrieben, wie man diese anwendet, jedoch steht nirgends wie ich eine class declariere bzw. erstelle.

            Aus dem link, den du gepostet hast, könnte ich die classenstrucktur entnehmen, jedoch mach ich irgendwas falsch.

            Hab das ding jetzt mal in die classes.php gepackt und habs auf folgendem wege versucht.

            und seit nicht zu streng, ist das erste mal, dass ich mich so wiklich mit php beschäftige ^^

            Hmm finde hier im Forum leider keinen Spoiler, deshalb wirds leider etwas länger sorry

            PHP-Code:
            <?php
              
            class MySQLi   {
                
            /* Properties */
                
            int $affected_rows;
                
            string $client_info;
                
            int $client_version;
                
            string $connect_errno;
                
            string $connect_error;
                
            int $errno;
                
            string $error;
                
            int $field_count;
                
            int $client_version;
                
            string $host_info;
                
            string $protocol_version;
                
            string $server_info;
                
            int $server_version;
                
            string $info;
                
            mixed $insert_id;
                
            string $sqlstate;
                
            int $thread_id;
                
            int $warning_count;
                
            /* Methods */
                
            int mysqli_affected_rows mysqli $link )
                
            bool mysqli::autocommit bool $mode )
                
            bool mysqli::change_user string $user string $password string $database )
                
            string mysqli::character_set_name void )
                
            string mysqli_get_client_info mysqli $link )
                
            int mysqli_get_client_version mysqli $link )
                
            bool mysqli::close void )
                
            bool mysqli::commit void )
                
            int mysqli_connect_errno void )
                
            string mysqli_connect_error void )
                
            mysqli mysqli_connect ([ string $host ini_get("mysqli.default_host") [, string $username ini_get("mysqli.default_user") [, string $passwd ini_get("mysqli.default_pw") [, string $dbname "" [, int $port ini_get("mysqli.default_port") [, string $socket ini_get("mysqli.default_socket") ]]]]]] )
                
            bool mysqli::debug string $message )
                
            bool mysqli::dump_debug_info void )
                
            int mysqli_errno mysqli $link )
                
            string mysqli_error mysqli $link )
                
            int mysqli_field_count mysqli $link )
                
            object mysqli::get_charset void )
                
            string mysqli::get_client_info void )
                
            int mysqli_get_client_version mysqli $link )
                
            bool mysqli::get_connection_stats void )
                
            string mysqli_get_host_info mysqli $link )
                
            int mysqli_get_proto_info mysqli $link )
                
            string mysqli_get_server_info mysqli $link )
                
            int mysqli_get_server_version mysqli $link )
                
            mysqli_warning mysqli::get_warnings void )
                
            string mysqli_info mysqli $link )
                
            mysqli mysqli::init void )
                
            mixed mysqli_insert_id mysqli $link )
                
            bool mysqli::kill int $processid )
                
            bool mysqli::more_results void )
                
            bool mysqli::multi_query string $query )
                
            bool mysqli::next_result void )
                
            bool mysqli::options int $option mixed $value )
                
            bool mysqli::ping void )
                public 
            int mysqli::poll ( array &$read , array &$error , array &$reject int $sec [, int $usec ] )
                
            mysqli_stmt mysqli::prepare string $query )
                
            mixed mysqli::query string $query [, int $resultmode ] )
                
            bool mysqli::real_connect ([ string $host [, string $username [, string $passwd [, string $dbname [, int $port [, string $socket [, int $flags ]]]]]]] )
                
            string mysqli::escape_string string $escapestr )
                
            bool mysqli::real_query string $query )
                public 
            mysqli_result mysqli::reap_async_query void )
                
            bool mysqli::rollback void )
                
            bool mysqli::select_db string $dbname )
                
            bool mysqli::set_charset string $charset )
                
            void mysqli_set_local_infile_default mysqli $link )
                
            bool mysqli::set_local_infile_handler mysqli $link callback $read_func )
                
            string mysqli_sqlstate mysqli $link )
                
            bool mysqli::ssl_set string $key string $cert string $ca string $capath string $cipher )
                
            string mysqli::stat void )
                
            mysqli_stmt mysqli::stmt_init void )
                
            mysqli_result mysqli::store_result void )
                
            int mysqli_thread_id mysqli $link )
                
            bool mysqli_thread_safe void )
                
            mysqli_result mysqli::use_result void )
                
            int mysqli_warning_count mysqli $link )
            }
            ?>
            EDIT. ah ok wird von selbst angepasst auch nicht schlecht ^^

            Kommentar


            • #7
              Kannst du bitte mal den Link zum Tutorial posten?
              Möchtest du den Code Tutorial einfach nur nachbauen, oder hast du ein anderes Ziel?

              Kommentar


              • #8
                Hey.

                Ja ich war erstmal dabei in Loginskript nach dem aufbau des TuTs nachzubauen, da aber gaz nichts funktionierte hab ich das ganze erstmal wieder etwas umgebaut.

                Das nachbauen stelle ich mir eher als übung vor und nicht, dass ich es dann hab, bringt mir ja nicht viel ich will es ja verstehen.
                Der Großteil ist mir ja klar aber solche für ich als anfänger wichtigen teile wie eben diese Classenstucktur wird nur kurz angeschnitten.


                hier mal der link zum TuT : Quakenet/#php Tutorial - de - Einleitung

                Kommentar


                • #9
                  Zitat von Luck_Winner Beitrag anzeigen

                  PHP-Code:
                  <?php
                    
                  class MySQLi   {
                      
                  /* Properties */
                      
                  int $affected_rows;
                  ?>
                  ...
                  Das ist kein gültiger PHP Code sondern dient lediglich der Dokumentation. Dir fehlt die mysqli-Erweiterung, hast du Zugriff auf php.ini? Dort kannst du sie aktivieren.
                  @fschmengler - @fschmengler - @schmengler
                  PHP Blog - Magento Entwicklung - CSS Ribbon Generator

                  Kommentar


                  • #10
                    Hey.

                    Ich habe grad auch nachgelesen, dass ab der php version 5.0 diese Funktionen aktiviert werden müssen.

                    Ich hab selbstverständlich administrative zugriffsrechte auf meinem MySQL Server
                    Wo kann ich den diese konfigurationsdatei finden?
                    Sorry für die doofe frage aber ich hab mich damit eben noch echt nie beschäftigt.

                    Reicht es dann diesen Dienst zu aktivieren?

                    mfg

                    Kommentar


                    • #11
                      Das hat nichts mit dem MySQL Server zu tun sondern mit der Installation von PHP. Da musst du also ggf. deinen Hoster fragen.

                      Und ja, das genügt dann, in deinem PHP Skript musst du nichts weiter anpassen.
                      @fschmengler - @fschmengler - @schmengler
                      PHP Blog - Magento Entwicklung - CSS Ribbon Generator

                      Kommentar


                      • #12
                        Ja ich hab irgendwi so enn Admintool wo ich meine Datenbanken usw. einsehen kann, dort steht auch dies hier:
                        Verwendete php Erweiterungen: mysql
                        hier: PHP: Installation - Manual steht ja auch etwas dazu leider versteh ich nicht ganz was man da machen soll.

                        Du denkst es ist das beste ich soll meinem Hoster sagen, dass er diese erweiterung aktiviert? naja ich werd mal anfragen.
                        Wäre trozdem mal gut zu wissen, die ich es selbst aktivieren kann usw.

                        Kommentar


                        • #13
                          Zitat von Luck_Winner Beitrag anzeigen
                          Wo kann ich den diese konfigurationsdatei finden?
                          Sorry für die doofe frage aber ich hab mich damit eben noch echt nie beschäftigt.
                          Dann mach's bitte jetzt!

                          Kommentar


                          • #14
                            baja wie gesagt ich hab mir diese seite mehrmals durchgelsen aber ich verstehs eben nicht ganz.
                            PHP: Installation - Manual
                            Ich hab ja soweit jetzt verstanden was das überhaupt ist usw,jedoch versteh ich eben halt nicht ganz was damit gemeint ist:
                            Um die mysqli-Erweiterung für PHP zu aktivieren, müssen Sie den PHP-Sourcecode so konfigurieren, dass er mysqli verwendet. Dies erreichen Sie, indem Sie das configure-Skript mit der Option --with-mysqli=mysql_config_path/mysql_config aufrufen, bevor Sie den Build von PHP starten. Dadurch aktivieren Sie mysqli und verwenden die MySQL-Client-Bibliothek (libmysql), um mit dem MySQL-Server zu kommunizieren.

                            Kommentar


                            • #15
                              Auf was für einem System testest du denn überhaupt ...?

                              Der zitierte Hinweis gilt für Linux-Systeme.

                              Kommentar

                              Lädt...
                              X