Seit eläuft Local...auf´m server nicht

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

  • Seit eläuft Local...auf´m server nicht

    Hi Leute,

    ich habe da auch ein mega großes Problem mit meinem Script.

    Auf meinem Localhost läuft es Tadellos, aber auf dem Server nicht.

    Auf beiden ist die PHP-Version 5.0.4 drauf.

    Hier mal ein kleiner Auszug von den fehler-Anzeigen.

    Notice: Undefined variable: akt_seite in /srv/www/htdocs/web29/html/nordstemmen/index.php on line 12

    Notice: Undefined variable: weiter in /srv/www/htdocs/web29/html/nordstemmen/index.php on line 13

    Notice: Undefined variable: weiter in /srv/www/htdocs/web29/html/nordstemmen/index.php on line 17

    Notice: Undefined variable: anfang in /srv/www/htdocs/web29/html/nordstemmen/index.php on line 18

    Notice: Undefined variable: anfang in /srv/www/htdocs/web29/html/nordstemmen/index.php on line 18

    Hier mal mein PHP-Code


    PHP-Code:
    <?php
    // Anzahl Ergebnisse 
    if(($branche_id)or($Submit)){
    //Ergebnisse über die Auswahlliste
    if($branche_id){$result mysql_query("SELECT * FROM firmen WHERE zone = $branche_id ",$con);}
    //Ergebnisse über das suchfeld
        
    if($Submit){$result mysql_query("SELECT * FROM firmen 
    WHERE nname LIKE '%
    $suche%' OR vorname LIKE '%$suche%' 
        OR ort LIKE '%
    $suche%'     OR txt LIKE '%$suche%' OR url LIKE 
    '%
    $suche%'ORDER BY `nname` ASC",$con);}

    $anz=mysql_num_rows($result); 
    }      
    if(
    $anz==""$anz="0";
    if(
    $anfang==""$anfang="0";
    ?>
    <span class="content_header">Sie befinden sich auf der <u><span 
    class="Stil26">Startseite</span></u>
     </span>  </div></td> <td width="39">&nbsp;</td>   </tr> 
    </table></td> </tr> <tr>
     <td height="109">&nbsp;</td>
    <td colspan="2" valign="top"><table width="618" border="0" cellpadding="0" 
    cellspacing="0" background="p_tpl/2/04.gif"> 
    <!--DWLayoutTable-->  <tr>
     <td width="618" height="109" valign="middle">
     <form action="n_search.php" method="post" enctype="multipart/form-data">
     <table width="578" border="0" align="right" cellpadding="0" 
    cellspacing="0" background="pics/background.gif">
     <!--DWLayoutTable-->
    <tr> <td width="159" height="46" valign="middle" 
    class="content_text"><strong> &nbsp;&nbsp;&nbsp;&nbsp; 
    Branchen-Auswahl:     </strong></td>
     <td width="143" valign="middle" class="content_text"><select 
    name="menu1" class="knopf" 
     onChange="MM_jumpMenu('parent',this,0)"> <option 
    selected>Bitte W&auml;hlen Sie</option>
    <?
    //bestehende Kategorien aus der DB lesen
    $result = mysql_query("SELECT * FROM branche ORDER BY 
    `branche` ASC",$con);
    while($data=mysql_fetch_array($result)){

    ?>
                      <option value="n_search.php?branche_id=<? echo 
    $data[branche_id]."&anz=$anz&anzahl=$anzahl"; ?>"
                      <? if($branche_id==$data[branche_id]) echo " 
    selected"?> ><? echo $data[branche]; ?></option>
                      <? } ?>
                  </select></td>
      <td width="12">&nbsp;</td>
     <td width="264" valign="middle" class="content_text"><input 
    name="suche" 
     type="text" class="knopf" onClick="this.value=''" value="
    <? if($suche!=""){echo $suche;} else {echo "oder Suchbegriff 
    eingeben"; }?>" size="30">
     <input type="submit" name="Submit" value="Suchen"></td>
                </tr>
                <tr>
                  <td height="23"></td>
                  <td></td>
                  <td></td>
                  <td></td>
                </tr>
              </table><?
    //Ergebnisse über die Auswahlliste und das suchfeld
    if(($branche_id)or($Submit)){
    //Ergebnisse über die Auswahlliste
        if($branche_id){$result = mysql_query("SELECT * FROM firmen 
    WHERE zone = $branche_id LIMIT $anfang,$anzahl",$con);}
    //Ergebnisse über das suchfeld
        if($Submit){$result = mysql_query("SELECT * FROM firmen 
    WHERE nname LIKE '%$suche%' OR vorname LIKE '%$suche%' 
        OR ort LIKE '%$suche%' OR txt LIKE '%$suche%' OR url LIKE 
    '%$suche%' ORDER BY `nname` 
        ASC LIMIT $anfang,$anzahl",$con);}while($data=mysql_fetch_array($result)){
        
        //Kategoriename lesen
        if($branche_id){$result_k = mysql_query("SELECT branche 
    FROM branche WHERE branche_id = $branche_id ",$con);}
        if($Submit){$result_k = mysql_query("SELECT branche FROM 
    branche WHERE branche_id = $data[zone]",$con);}
        $data_k=mysql_fetch_array($result_k);
        
    ?>
                    <?
    }
    ?>
                    <?
    }
    ?>

    Also ich weis wirklich nicht mehr weiter.

    Ich bin in Sachen PHP nicht so gut.
    Ich bin froh, das ich das Script mal hinbekommen habe.

    Wäre echt Super, wenn es hier jemand gibt, der Mir Helfen kann.
    Zuletzt geändert von kluman; 26.01.2006, 09:45.

  • #2
    Einfach mal die Suche benutzen:

    http://www.php-resource.de/forum/sho...fined+variable

    (PS: das Thema wurde nicht von mir gestartet obwohl gewisse "ähnlichkeiten" da sind *g*)

    Kommentar


    • #3
      Schreib mal als erste Zeile deines Scripts
      PHP-Code:
      error_reporting(E_ERROR); 
      und die Meldungen sollten weg sein. Fairerweise muss man sagen, dass dies sicherlich nicht die feine Art ist dieses Problem zu umgehen.
      Dein Prob sind die if-Abfragen. Wenn du bei diesen auf eine nicht-gesetzte Var zugreifen willst, dann gibt's ne notice.
      Also brauchst du eine Abfrage die keinen Fehler wirft, wenn die Var nicht gesetzt ist. Schau dir dazu mal isset() an...

      Gruss

      tobi
      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

      Kommentar


      • #4
        Hallo jahlives,

        hab Dank für deine Schnelle Hilfe.

        Die Fehler sind echt weg und es geht wieder.


        Obwohl ich das jetzt nicht wirklch verstanden habe.

        Was genau meinst du mit den if-Abfragen und nicht gesetzte War ?

        Kann das sein, das du das mit der Var im Bezug auf vieleicht,

        Der Seiten-Anzahl pro ausgabe.

        Kommentar


        • #5
          Ich verstehe jetzt deine Frage nicht ganz. Aber schau dir das folgende an:
          PHP-Code:
          //das wird Fehler produzieren wenn die Vars nicht gesetzt sind
          if(($branche_id)or($Submit)){
          //besser so
          if(isset($branche_id) || isset($Submit)){ 
          Ausserdem scheinst du auf register_globals on zu setzen. Dies kann aber je nach Server Konf deaktiviert sein und dann funzen die Scripte wieder nicht.
          Wenn du also Vars aus einem Form ansprechen willst dann nach folgendem Schema
          PHP-Code:
          $temp $_POST['Submit'];
          //und nicht
          $temp $Submit
          Gruss

          tobi
          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

          Kommentar


          • #6
            und mach mal umbrüche in deinen code rein!

            http://www.php-resource.de/forum/sho...threadid=50454
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              Also Du meinst, überall wo


              PHP-Code:
              if(($branche_id)or($Submit)){


              //ändere ich in
              if(isset($branche_id) || isset($Submit)){


              //Und überall wo 
              $temp $_POST['Submit'];
              //ändere ich in
              $temp $Submit
              OK. Dann werde ich das mal machen und schauen.

              Und schaue ich gleich noch mal nach dem POST und GET.

              ich will das ja verstehen.

              Kommentar


              • #8
                Zu deinem letzten Beispiel mit _POST: Genau andersrum. mit $_POST arbeiten ist besser, da das auch bei ausgeschaltetem register_globals funktioniert

                Außerdem empfehle ich dir die Array-Indizes in Anführungszeichen zu setzen...

                Gruß,
                Flo.

                Kommentar


                • #9
                  So jetzt habe ich die Zeilen soweit abgeändert und es Funzt.

                  Das mit dem
                  PHP-Code:
                  $temp $_POST['Submit'];
                  //und nicht
                  $temp $Submit
                  habe ich nicht verstanden.
                  Die Befehle habe ich ja nicht im Script.

                  Nur Zeilen 18,19,23,24,33,133 und 171 machen noch Ärger.

                  PHP-Code:
                  <?PHP
                  // zeile 18
                  if($akt_seite==""$akt_seite=1;
                  // zeile 19
                  if($weiter==1){
                  // zeile 20
                  if($anfang<=$anz)$akt_seite=$akt_seite+1;$anfang=$anfang+$anzahl;
                  // zeile 21
                  }
                  // zeile 23
                  if($weiter==0){
                  // zeile 24
                  if($anfang>0)$akt_seite=$akt_seite-1;$anfang=$anfang-$anzahl;
                  // zeile 25
                  }
                  // zeile 27
                  if($akt_seite<1$akt_seite=1;
                  // zeile 28
                  if($anfang<0$anfang=0;
                  // zeile 33
                  if ($button==" OK ") {?>

                  Zeile 138 kommt der Fehler

                  "Notice: Undefined variable: anz in"

                  PHP-Code:
                  <?php
                  if($anz==""$anz="0";
                  ?>
                  Zeile 171
                  "Notice: Undefined Variable: branche_id in"

                  PHP-Code:
                    <option value="n_search.php?branche_id=<? echo 
                  $data[branche_id]."&anz=$anz&anzahl=$anzahl"; ?>"
                  <? if($branche_id==$data[branche_id]) echo " selected"?> >
                  <? echo $data[branche]; ?></option>
                  Also da komme ich jetzt nicht weiter.
                  Zuletzt geändert von kluman; 26.01.2006, 09:46.

                  Kommentar


                  • #10
                    Original geschrieben von kluman
                    Also da komme ich jetzt nicht weiter.
                    Warum nicht?

                    Du solltest inzwischen wissen, dass du nicht einfach so lesend auf die Werte nicht initialisierter Variablen zugreifen kannst;
                    Und auch eine Funktion um diese Variablen vorher auf Existenz zu prüfen wurde dir hier im Thread bereits vorgestellt.


                    Und brich endlich deinen Code um!
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      So jetzt habe ich den Code Umgebrochen! zum zweiten mal.

                      Tut mir leid, das ich das nicht raffe.

                      Wo habe ich denn eine nicht-gesetzte Var ?

                      Das ich die Fehler aus- und einblenden kann ist schon klar und das das Script dann dennoch läuft.

                      Kommentar


                      • #12
                        Wo habe ich denn eine nicht-gesetzte Var ?
                        error_reporting auf E_ALL gesetzt???

                        Kommentar


                        • #13
                          *seufz*
                          Könntest du dein Hirn vielleicht wenigstens ein bisschen benutzen, bitte?
                          Wo habe ich denn eine nicht-gesetzte Var ?
                          Da, wo es die PHP Notice dir sagt - was du soeben noch selber gepostet hattest:

                          Zeile 138 kommt der Fehler

                          "Notice: Undefined variable: anz in"

                          [...]

                          Zeile 171
                          "Notice: Undefined Variable: branche_id in"
                          I don't believe in rebirth. Actually, I never did in my whole lives.

                          Kommentar


                          • #14
                            *lol* okay, ich sollte die threads ganz lesen.

                            Kommentar


                            • #15
                              Ja!
                              error_reporting(E_ALL);
                              habe ich gesetzt.

                              Ich bin nebenbei ja auch dabei zu üben und versuche es zu verstehen. ich strenge mich schon an.....

                              Ist das hier schon ein kleiner ansatz?
                              PHP-Code:

                              //anstelle von
                              if(isset($branche_id)||isset($Submit)){
                              // so ungefähr
                              if(isset($_POST['branche_id']) 
                              Oder is das völlig daneben?

                              Kommentar

                              Lädt...
                              X