Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

include





Frage

Hallo! Habe mal eine Frage , und zwar sieht mein Grund Gerüst so aus : >>>(Kann den Code nicht abschicken???)>>> Jetzt kann immer per Index.php?nav=hallo Eine Seite in die Tabelle Inkludieren , indem fall "hallo.php". Nun hab ich aber auch php dateien mit einem paramater zum bsp : bild.php?id=2 würde dann gerne auch diese Datei inkludieren , in der art: Index.php?nav=bild&id=2 Kann mir da jemand weiterhelfen? wie ich das am besten mache?

Antwort 1 von Susi9283

Hier der Code:

 
$val = array( 
             '/^[a-zA-Z0-9\- ]+$/', 
             '/^[0-9-]+$/' 
            ); 
$checkedvar = "home"; 
if (isset($_GET["nav"])) { 
  $quotevar = quotemeta($_GET["nav"]); 
  foreach ($val as $k => $v) { 
    if (preg_match($v, $quotevar )) { 
      $checkedvar = $quotevar ; 
      break; 
    } 
  } 
} 

if(stristr($checkedvar, 'http:') or stristr($checkedvar, 'https:') or stristr($checkedvar, 'ftp:') or stristr($checkedvar, 'irc:') or stristr($checkedvar, '.') or preg_match('=/=', $checkedvar)) 
{$checkedvar = "home";} 


$inc_array = array(); 
$inc_dir=opendir ("./"); 
while ($inc = readdir ($inc_dir)) { 
if($inc != "." && $inc != "..") { 
$short_inc = str_replace(".php", "", $inc); 
array_push ($inc_array, $short_inc); 
} 
} 
closedir($inc_dir); 
if (isset($checkedvar) && in_array($checkedvar, $inc_array) && !preg_match('=/=', $checkedvar)) { 

} else { 
include("home.php"); 
} 
?>
<div align="left">
<table border="0" height="774" width="897" cellpadding="0" cellspacing="0" style="border-width:1; border-color:black; border-style:solid;">
        <tr>
            <td width="166" height="768">
                <table border="1" width="164" height="34">
                    <tr>
                        <td width="154" height="28">Navigation</td>
                    </tr>
                    <tr>
                        <td width="154" height="28">></td>
                    </tr>
                </table>
            </td>
            <td width="729" height="768">
                <table border="0" width="734" height="772">
                    <tr>
                        <td width="514" height="766"><?include("./".$checkedvar.".php"); ?></td>
                        <td width="210" height="766">
                            <table border="1" width="183" height="96">
                                <tr>
                                    <td width="173" height="90"><form action="login.php" method="post">
<u>Username:</u>  <input type="text" name="username"><br>
<u>Password:</u>  <input type="password" name="passwort"><p>
<input type="hidden" name="flag" value="1">
<input type="submit" value="login"><p>
</form>


Antwort 2 von ClemBra

Ohne durch den ganzen Code durchzusteigen, was funktioniert nicht?
Parameter die dem ersten Skript übergeben werden, z.B. als $_GET stehen auch in inkludierten Skripts zur Verfügung.
Es ist, als stände der Code des inkludierten Codes genau an dieser Stelle.

evtl. hilft https://supportnet.de/threads/1590033

Gruß Clemens

Antwort 3 von Susi9283

Also :

Ich kann problemlos dateien über index.php?nav=seite an die dementsprechende Stelle inkludieren.

Meine Frage war wie ich eine datei mit zusätzlichem parameter über diese URL Inkludieren kann , bzw was ich ergänzen muss damit es geht.

Antwort 4 von Rangoo

Hi!

Du machst es genau so, wie du es in deiner Frage beschrieben hast.
Index.php?nav=bild&id=2
Die inkludierte Seite kann auch auf die Query-Variablen zugreifen und müsste im Normalfall problemlos funktionieren. Wenn die bild.php?id=2 funktioniert, wird auch die Index-Seite funktionieren.