in_array prob

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

  • in_array prob

    PHP-Code:
    //action abfragen
    $allowed = array("home, new");
    if (isset(
    $_GET['action'])) {
        if (
    in_array($_GET['action'],$allowed)){
            
    $action $_GET['action'];
        } else {        
            
    $action "home";
        }
    } else {
        
    $action "home";
    }
    echo 
    "<hr>".$action;
    echo 
    "<hr>".$_GET['action']; 
    auf index.php?action=new

    action ist immer "home"
    $_GET['action'] ist new

    was mache ich falsch

    (ja ich weiß das kann man auch mit switch lösen möchte ich aber nicht)
    thx Mukraker

  • #2
    PHP-Code:
    // deines
    $allowed = array("home, new");

    // meines
    $allowed = array('home''new'); 
    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


    • #3
      action geht immer auf index.php

      PHP-Code:
      //newclient.htm
      <table width="100%" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td>$interntitel&nbsp;$imenu</td>
        </tr>
        <tr>
          <td>$internsite
            <form name="form1" method="post" action="client.php?action=new">
              <table width="100" border="0" cellspacing="0" cellpadding="0">
                <tr>
                  <td>Frimenname:</td>
                  <td><input name="clientname" type="text" id="clientname" value="$clientname"></td>
                </tr>
                <tr>
                  <td>Stra&szlig;e Nr.</td>
                  <td><input name="clientstreet" type="text" id="clientstreet" value="$clientstreet"></td>
                </tr>
                <tr>
                  <td>PLZ Ort</td>
                  <td><input name="clienttown" type="text" id="clienttown" value="$clienttown"></td>
                </tr>
                <tr>
                  <td>&nbsp;</td>
                  <td><input type="submit" name="Submit" value="Abschicken">
                  <br>
                  $error</td>
                </tr>
              </table>
            </form></td>
        </tr>
      </table>


      //client.php
      <?php
      include("global.php");
      $rightsresult $DBase->query("SELECT userid,usergroup FROM ".$prefix."_employee WHERE name='" $userid "' AND passwort='" $password "' AND sperren = 1 OR userid='" $userid "' AND passwort='" $password "' AND sperren = 1");
      $rights mysql_fetch_object($rightsresult);
      if (!
      $rights) {
          
      $interntitel "&raquo; Keine Berechtigung!";
          
      $internsite "Sie haben keine Berechtigung diese Seite zu betreten. Um dies zu tun müssen sie sich einloggen!";
      }
      //action abfragen
      $allowed = array('home''new');
      if (isset(
      $_GET['action'])) {
          if (
      in_array($_GET['action'],$allowed)){
              
      $action $_GET['action'];
          } else {        
              
      $action "home";
          }
      } else {
          
      $action "home";
      }
      //einfache auflistung aller kunden
      if ($action == "home") {
          
      //Titel
          
      $interntitel "Kundenverwaltung";
          
      //tabellen anfang
          
      $internsite .= "jaja";
          
      //internmenü
          
      $imenu "&raquo;<a href=\"".$PHP_SELF."?action=new\">Neuer Kunde</a>";
          
      //blättern
          
      $postquery $DBase->query("SELECT * FROM ".$prefix."_client");
          
      $count mysql_num_rows($postquery);
          
      $pages .= "hello";
          if (!isset(
      $page)) {
              
      $page 0;
          } 
          
      $postquery2 $DBase->query("SELECT * FROM ".$prefix."_client ORDER BY name DESC LIMIT $page,10");
          
          if (
      $page 0) {
              
      $pages .= "<a href=\"gbook.php?page=0&link=$link\" class=\"contentlink\">[erste Seite]</a> ";
              
      $back $page 10;
              if (
      $back 0) {
                  
      $back 0;
              }
              
      $pages .= "<a href=\"gbook.php?page=$back&link=$link\" class=\"contentlink\">[zurück]</a> ";
          }
          if(
      $count>10) {
              
      $Seiten=intval($count/10);
                if(
      $count%10) {
                  
      $Seiten++;
                }
          }
          for (
      $i=1;$i<=$Seiten;$i++) {
                 
      $fwd=($i-1)*10;
                
      $pages .= "<a href=\"gbook.php?page=$fwd&link=$link\" class=\"contentlink\">$i</a> ";
          }
          if(
      $page $count-10) {
                
      $fwd=$page+10;
                
      $pages .= "<a href=\"gbook.php?page=$fwd&link=$link\" class=\"contentlink\">[weiter]</a> ";
                
      $fwd=$count-10;
                
      $pages .= "<a href=\"gbook.php?page=$fwd&link=$link\" class=\"contentlink\">[letzte Seite]</a>";
          }
          
      //template
          
      eval("dooutput(\"".gettemplate("top")."\");");
          eval(
      "dooutput(\"".gettemplate("client")."\");");
          eval(
      "dooutput(\"".gettemplate("footer")."\");");
          exit();
      } elseif (
      $action == "new") {
          
      //Titel
          
      $interntitel "Neuen Kunden anlegen";
          
      //Datenbanken füllen
          ##nur wenn abgeschickt wurde
          
      if (isset($_POST['submit'])) {
              
      //checken ob es einen kundennamen schon gibt oder keiner eingetragen wurde
              //abfragen ob es den kundennamen schon gibt
              
      $clientcheck $DBase->query("SELECT * FROM ".$prefix."_client WHERE name='".$_POST['clientname']."'");
              
      $anz $DBase->num_rows();    
              if (!isset(
      $_POST['clientname']) OR $anz >) {
                  
      $error "Sie habe keinen oder einen schon vorhandenen Kundennamen eingegeben";
                  
      //template    
                  
      eval("dooutput(\"".gettemplate("top")."\");");
                  eval(
      "dooutput(\"".gettemplate("newclient")."\");");
                  eval(
      "dooutput(\"".gettemplate("footer")."\");");
                  exit();        
              } else {    
                  
      $timecode time();
                  
      $DBase->query("    INSERT INTO 
                                      "
      .$prefix."_client 
                                  VALUES ('',
                                      '"
      .$_POST['clientname']."',
                                      '"
      .$_POST['clientstreet']."',
                                      '"
      .$_POST['clienttown']."',
                                      '
      $timecode')
                                  "
      );
                  
      //template    
                  
      eval("dooutput(\"".gettemplate("top")."\");");
                  eval(
      "dooutput(\"".gettemplate("client")."\");");
                  eval(
      "dooutput(\"".gettemplate("footer")."\");");
                  exit();
              }
          } else {
          
      ##normle ausgabe ohne submit
              
      eval("dooutput(\"".gettemplate("top")."\");");
              eval(
      "dooutput(\"".gettemplate("newclient")."\");");
              eval(
      "dooutput(\"".gettemplate("footer")."\");");
              exit();
          }
      } elseif (
      $action == "editclient") {
          
      //Titel
          
      $interntitel "Neuen Kunden anlegen";    
          
      //template
          
      eval("dooutput(\"".gettemplate("top")."\");");
          eval(
      "dooutput(\"".gettemplate("client")."\");");
          eval(
      "dooutput(\"".gettemplate("footer")."\");");
          exit();
      }
      ?>


      Jedesmal wenn ich die form abschicke wird mir die index.php und nicht die client.php?action=new angezeigt!


      warum ?
      thx Mukraker

      Kommentar


      • #4
        Du kannst bei action="" keine Parameter als Querystring übergeben.
        Hab mir zwar den Rest nicht so genau angeguckt aber probier's mal mit action="client.php" und einem hidden field <input name="action" type="hidden" value="new">.

        Kommentar


        • #5
          stimmt das eh besser,


          hab den fehler aber gefunden

          in meiner global.php habe ich ein </form> falsch geschrieben

          danke
          thx Mukraker

          Kommentar


          • #6
            vielleicht liegts ja daran, dass du dein form mit "method=post" sendest und $_GET ausliest

            wie du aus dem script allerdings auf die index.php kommst, ist mir schleierhaft
            Kissolino.com

            Kommentar


            • #7
              OffTopic:
              warum machst du für das gleiche thema einen neuen thread auf?


              *ZUSAMMENFÜHR*
              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

              Lädt...
              X