Ankündigung

Einklappen
Keine Ankündigung bisher.

PHP Test umgebung

Einklappen

Neue Werbung 2019

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

  • PHP Test umgebung

    Hallo,

    bin quasi ins kalte Wasser geworfen und muss etwas an eine Bestehende Webseite Anpassungen vornehmen. Zuvor war aber nur die Rede über reine HTML seite, ist aber Formulare mit PHP vorhanden.
    Meine Frage: ich möchte ungern Live an WebSeite Anpassungen vornehmen ohne es getestet zu haben. Ich möchte daher es local auf meine Maschine es vornehmen und testen.
    Für die TYPO3 gibt’s z.B.: XAMPP Programm, nutze ich auch. Die Seite (die ich ändern soll) funktioniert da aber nicht.
    Welche Umgebungen kann ich dafür nutzen?

  • #2
    XAMPP ist eigenlich ok, die Frage ist, warum die Seite nicht darauf läuft.
    Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

    Kommentar


    • #3
      Ein paar mehr Informationen müsstest du uns schon geben!

      Kommentar


      • #4
        Also Seite lässt sich abrufen, wenn aber kontakt Formular angeklickt wird
        kommt mit folgende Fehlerbeschreibung erstmal:

        Notice: Undefined variable: flag in C:\xampp\htdocs\luc\html\_kontakt.php on line 308

        Notice: Undefined variable: flag in C:\xampp\htdocs\luc\html\_kontakt.php on line 434

        Zeile 308:

        PHP-Code:
        if ($flag==1//Wenn das Fromular ausgefllt wurde.

        {

            
        //Die Eingaben prfen

            
        if(!$namer){$fehler="Bitte Namen eingeben<br/>";}

            if(!
        $vorname){$fehler.="Bitte Vornamen eingeben<br/>";}

            if(
        check_email($email) & $email!="") {$fehler.="Emailadresse ist ungültig<br/>";}

            if(!
        $email) {$fehler.="Bitte die Emailadresse eingeben<br/>";}

            if(!
        $text) {$fehler.="Bitte eine Nachricht eingeben<br/>";}

            if(!
        $strae) {$fehler.="Bitte eine Straße eingeben<br/>";}

            if(!
        $plz) {$fehler.="Bitte einen PLZ eingeben<br/>";}

            if(!
        $ort) {$fehler.="Bitte einen Ort eingeben<br/>";}

            if(!
        $tel) {$fehler.="Bitte einen Telefonnummer eingeben<br/>";}

            if(!
        $aktenzeichen) {$fehler.="Bitte ein Aktenzeichen eingeben<br/>";}

            if(
        $fehler//Bei Fehlern, Meldung ausgeben

            
        ..... 
        Zeile 434:
        PHP-Code:
        if(!$flag) //Formular noch nicht abgesendet

        {

                ?>

              <form action='<? echo $PHP_SELF; ?>' method='post' enctype='multipart/form-data' name='form' id="form">

                  <input type="hidden" name="flag" id="flag" value=1/>

                <p align="center">Kontaktformular: <br/><br/>Bitte füllen Sie alles aus, 
             mit Ihnen in Verbindung setzten kann.<br/></p>

                <table border="0" cellpadding="4">
        Es scheint erstmal mit der Variable $flag Problem zu haben

        Dann wo die Felder selbst Definiert sind komm das:<br /><b>Notice</b>: Undefined variable: namer in <b>C:\xampp\htdocs\luc\html\_kontakt.php</b> on line <b>455</b><br />

        Code dazu:
        PHP-Code:
        <tr>

                  <td class="style2">Name:</td>

                  <td>

                    <input name="namer" type="text" id="namer" size="50" value='<?php echo $namer?>'/>

                          </td>

                </tr>

        Kommentar


        • #5
          In einem Anderen Formular hat der WebEntwickler von WebHosting Firma folgendes in Kopft hinzugefügt:

          PHP-Code:
          <?php

          $ag_kd_nr 
          =$_POST["ag_kd_nr"];
          $ag_firma =$_POST["ag_firma"];
          $ag_name =$_POST["ag_name"];
          $ag_anschrift =$_POST["ag_anschrift"];
          $ag_ort =$_POST["ag_ort"];
          $ag_tel =$_POST["ag_tel"];
          $ag_fax =$_POST["ag_fax"];
          $ag_email =$_POST["ag_email"];
          $s_firma =$_POST["s_firma"];
          $s_name =$_POST["s_name"];
          $s_anschrift =$_POST["s_anschrift"];
          $s_ort =$_POST["s_ort"];
          $s_tel =$_POST["s_tel"];
          $s_fax =$_POST["s_fax"];
          $s_email =$_POST["s_email"];
          $s_bank =$_POST["s_bank"];
          $s_blz =$_POST["s_blz"];
          $f_haupt =$_POST["f_haupt"];
          $f_neben =$_POST["f_neben"];
          $f_r_dat =$_POST["f_r_dat"];
          $f_grund =$_POST["f_grund"];
          $f_mahn =$_POST["f_mahn"];
          $f_zins =$_POST["f_zins"];
          $forderung =$_POST["forderung"];
          $bemerkung =$_POST["bemerkung"];



          ?>
          Und hat dazu folgendes mir geschrieben:

          Das Problem lag in der Verarbeitung der vom Formular gelieferten Daten.
          Diese Daten konnten früher einfach mit dem Namen des Formularfeldes aufgerufen werden: z.B. $ag_kd_nr.
          Seit einiger Zeit müsste eigentlich folgender Variablenname verwendet werden $_POST["ag_kd_nr"].

          Ist es gleiche Problem oder unterschiedliche?

          Kommentar


          • #6
            Das hat aber nichts mit XAMPP zutun, die Fehler waren schon immer im Code, wurden dir nur nie angezeigt. Da XAMPP eine Entwicklungsumgebung ist, werden dir natürlich jetzt auch alle Fehler, Warnings, Notices, ... angezeigt, die online unterdrückt wurden.

            E: Ja, das Problem liegt daran, dass REGISTER_GLOBALS ausgeschaltet ist. Muss aber schon mehrere Jahre her sein, dass das Script geschrieben wurde...
            [QUOTE=nikosch]Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.[/QUOTE]

            Kommentar


            • #7
              PHP Test umgebung

              Das sind keine Fehler, sondern Notizen. Diese sagen dir, dass die verwendeten Variablen nicht definiert sind. Um das zu verhindern, musst du die Variablen vorher initialisieren.
              PHP-Code:
              <? echo $PHP_SELF; ?>
              Das solltest du besser ändern. Weshalb kannst du u.a. hier lesen.
              Delirius

              PHP - Grundlagen / PDO - Tutorial / PDO - Dokumentation

              Kommentar


              • #8
                Zitat von tkausl Beitrag anzeigen
                Das hat aber nichts mit XAMPP zutun, die Fehler waren schon immer im Code, wurden dir nur nie angezeigt. Da XAMPP eine Entwicklungsumgebung ist, werden dir natürlich jetzt auch alle Fehler, Warnings, Notices, ... angezeigt, die online unterdrückt wurden.

                E: Ja, das Problem liegt daran, dass REGISTER_GLOBALS ausgeschaltet ist. Muss aber schon mehrere Jahre her sein, dass das Script geschrieben wurde...

                Das Problem ist aufgetreten, nach dem Sie den Web Hosting (Server umzug) geändert haben.
                Wie löse ich das Problem?

                Durch Deklarierung für jede Variable, z.B. für namer:
                PHP-Code:
                <?php

                $namer 
                =$_POST["namer"];


                ?>

                Kommentar


                • #9
                  Kleiner Tipp: Die Lösung besteht nicht darin, REGISTER_GLOBALS zu aktivieren (wenn man das überhaupt noch kann).

                  Kommentar


                  • #10
                    Ich habe jetzt folgendes gemacht:
                    Im Kopf habe ich hinzugefügt:

                    PHP-Code:
                    <?php
                    $flag 
                    1;
                    $namer "";
                    $vorname "";
                    $email ="";
                    $firma ="";
                    $strae ="";
                    $plz ="";
                    $ort ="";
                    $tel ="";
                    $aktenzeichen ="";
                    $text ="";
                    ?>
                    Ergebnis ist das es bis auf eine Zeile Fehlerfrei ist:

                    Notice: Undefined variable: flag in C:\xampp\htdocs\luc\html\_kontakt.php on line 434

                    Diese Zeile wird nach wie vor angemeckert.

                    Kommentar


                    • #11
                      Ich denke mal, dass es einiges mehr an Aufwand bedarf, um die Seite auf einen vernünftigen Stand zu bringen, mit einer Variablendeklarierung wird es vermutlich nicht getan sein.
                      Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

                      Kommentar


                      • #12
                        Skripte, welche aktivierte REGISTER_GLOBALS benötigen, sind in der Regel generell grundlegend überarbeitungsbedürftig.
                        Dies bleibt in der Praxis jedoch oft Wunschdenken, so dass Workarounds angesagt sind:

                        PHP-Code:
                        //Register Globals Workaround
                        $defaults = array(
                          
                        "name" => "",
                          
                        "vorname" => "",
                          
                        "mail" => null
                        );
                        $arr array_merge($_POST,$_GET);  //was gebraucht wird
                        foreach($defaults as $varName => $value){
                          $
                        $varName = isset($arr[$varName]) ? $arr[$varName] : $value;

                        Aus dem Schlüssel von $defaults wird eine Variable erzeugt, welche den Wert aus $_POST/$_GET erhält so vorhanden, ansonsten den Defaultwert.

                        LG jspit

                        Kommentar


                        • #13
                          extract()?

                          Kommentar

                          Lädt...
                          X