- Ad -
php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 07-04-2005, 12:22
yard
 Newbie
Links : Onlinestatus : yard ist offline
Registriert seit: Feb 2004
Beiträge: 31
yard ist zur Zeit noch ein unbeschriebenes Blatt
Standard Probleme mit $_REQUEST

Hallo zusammen!

Keine Ahnung was los ist, aber meine $_REQUEST-Funktion geht einfach nicht.
Irgendwas muss ich noch zusätzlich übergeben aber ich komm nicht drauf.
Also..ich erklär mal um was es genau geht.
Ich hab ne index.php die ne session startet und ein template(index.tpl) ausgiebt. Nun das funktioniert soweit auch alles korrekt. Auf dem Template befinden sich mehrere Links. Unter anderem der "Reports" Link der beim Klick auf eine Classe verlinkt und dabei die Variable "section" mit "reports" füllen sollte und diese an die index.php übergibt. Welche dann zu Reports.Class verlinkt.

der Code vom Link "Reports" im teplate(index.tpl) lautet:
PHP-Code:
          <li><a href="?section=reports">»&nbsp;Reports</a></li

Ein Code-Abschnitt in der Classe Reports sieht nun vollgendermassen aus:
PHP-Code:
  function getReportingPage()
    {
        
$action $_REQUEST['action'];
        switch (
$action)
        {
            case 
"nesresult":
               
$this->ShowNessusResult();
               break;
            case 
"trend":
                 
$this->TrendAnalys();
                 break;

                 
$this->ScanTrendScan();
                 break;
            default:
                
$this->showReports();
                break;
        }
//end switch 
Eigentlich sollte das ganze hier funktionieren und beim Switch auf die Funktion "ShowReports()" gehen, nur es kommt immer diese Fehlermeldung:

Notice: Undefined index: action in /www/htdocs/init/_classes/Reports.class.php on line 56


Was ist los?

Die Variable $action habe ich am Anfang der Classe definiert.

PHP-Code:
class Reporting
{
      var 
$action

Danke für die Hilfe schon im voraus.

Gruss,
Yard
Mit Zitat antworten
  #2 (permalink)  
Alt 07-04-2005, 12:48
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 24.482
wahsaga befindet sich auf einem aufstrebenden Ast
Standard Re: Probleme mit $_REQUEST

<a href="?section=reports">

$action = $_REQUEST['action'];


entweder dir fällt ein kleiner, aber wesentlicher unterschied auf, oder du willst schleunigst einen augenarzt oder optiker deiner wahl aufsuchen.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #3 (permalink)  
Alt 07-04-2005, 12:52
Arni
 PHP Junior
Links : Onlinestatus : Arni ist offline
Registriert seit: Mar 2001
Ort: Miami F.L
Beiträge: 691
Arni ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Darf man mitmachen.

Ich habe in entdeckt
Ich habe in entdeckt
Ich habe in entdeckt
Mit Zitat antworten
  #4 (permalink)  
Alt 07-04-2005, 12:58
yard
 Newbie
Links : Onlinestatus : yard ist offline
Registriert seit: Feb 2004
Beiträge: 31
yard ist zur Zeit noch ein unbeschriebenes Blatt
Standard

nene. halt halt. die variable "section" wird ja ins index.php übergeben. nicht in die classe. das stimmt schon so. die "action" geht erst in die reports classe. aber die is ja nicht gefüllt.

index.php auswahl:
PHP-Code:
$section "";
if(isset(
$_REQUEST['section']))
{
    
$section $_REQUEST['section'];
}
//class-directory
$modulespath "_classes/";
//switch to selected section
switch ($section)
{
    case 
"reports":
        
$modulespath .= "Reports.class.php";
        if (
file_exists($modulespath))
            require_once(
$modulespath);
        else
            die (
"Fehler beim Aufruf von Reports.class.php!");
        
$objReportsManager = &new Reporting($template);
        
$template $objReportsManager->getReportingPage();
        break;
    
//end case access
    
default:
    
ShowMain($template,$username);

        break;
}
//end switch 
verwende smarty template
Mit Zitat antworten
  #5 (permalink)  
Alt 07-04-2005, 13:04
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

Zitat:
Original geschrieben von yard
nene
dochdoch

wo kommt $_REQUEST['action'] her?
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #6 (permalink)  
Alt 07-04-2005, 13:08
yard
 Newbie
Links : Onlinestatus : yard ist offline
Registriert seit: Feb 2004
Beiträge: 31
yard ist zur Zeit noch ein unbeschriebenes Blatt
Standard

die kommt erst wenn auf dem neuen template(reports_overwiev.tpl) auf nen link geklickt wird. vorher sollte alles in der reports classe, im switch auf default gehen. weil ja nix in der variable action ist.
Mit Zitat antworten
  #7 (permalink)  
Alt 07-04-2005, 13:16
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

und der link mit dem action-Parameter zeigt auf die index.php?
kontrolliert?
wie?
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #8 (permalink)  
Alt 07-04-2005, 13:18
yard
 Newbie
Links : Onlinestatus : yard ist offline
Registriert seit: Feb 2004
Beiträge: 31
yard ist zur Zeit noch ein unbeschriebenes Blatt
Standard

der action-parameter zeigt auf die index.php und dann zur reports.class.php via dem section-parameter.
Mit Zitat antworten
  #9 (permalink)  
Alt 07-04-2005, 13:20
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

Zitat:
Original geschrieben von yard
der action-parameter zeigt auf die index.php und dann zur reports.class.php via dem section-parameter.
Hä?

du rufst einen Link der form index.php?action=irgendwas auf und dann steht auf einmal in $_REQUEST['section'] auch irgendwas?

Wenn ja: Wie kommt der Wert da hin?
Wenn nein: Klär's mir so, dass ich's versteh
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #10 (permalink)  
Alt 07-04-2005, 13:38
yard
 Newbie
Links : Onlinestatus : yard ist offline
Registriert seit: Feb 2004
Beiträge: 31
yard ist zur Zeit noch ein unbeschriebenes Blatt
Standard

also...
sorry wenn ich mich nicht wirklich ausdrücken kann. erkläre das jetzt nochmals.

das ganze startet bei der index.php datei. diese übergibt das template index.tpl aus. wenn der section-parameter nicht gefüllt ist.
wenn man jetzt aber im index.tpl template einen link klickt übergibt der z.b. section=reports in die index.php datei

PHP-Code:
$section "";
if(isset(
$_REQUEST['section']))
{
    
$section $_REQUEST['section'];
}
//class-directory
$modulespath "_classes/";
//switch to selected section
switch ($section)
{
    case 
"reports":
        
$modulespath .= "Reports.class.php";
        if (
file_exists($modulespath))
            require_once(
$modulespath);
        else
            die (
"Fehler beim Aufruf von Reports.class.php!");
        
$objReportsManager = &new Reporting($template);
        
$template $objReportsManager->getReportingPage();
        break;
    
//end case access
    
default:
    
ShowMain($template,$username);

        break;
}
//end switch 
und schaltet zur reports.class, genauer zur function getReportingPage() in der reports.class.
beim umschaltet ist ja nun der section-parameter gefüllt mit reports aber der action-parameter leer.
so wird in der reports.class das "default" im switch ausgewählt

PHP-Code:
function getReportingPage()
    {
        
$action $_REQUEST['action'];
        switch (
$action)
        {
            case 
"nesresult":
               
$this->ShowNessusResult();
               break;
            case 
"trend":
                 
$this->TrendAnalys();
                 break;

                 
$this->ScanTrendScan();
                 break;
            default:
                
$this->showReports();
                break;
        }
//end switch 
was dann die function showReports() aufruft. und dann dort das neue template(reports_overwiev.tpl) ausgibt mit den neuen links.
der action-parameter wird erst gefüllt wenn man im reports_overwiev.tpl nen link betätigt.
wenn man nen link auf reports_overview.tpl betätigt geht der link so:
index.php?section=reports&action=trend
als beispiel.
aber er gibt mir nicht einmal die reports_overview.tpl aus. die fehlermeldung erscheint schon beim ersten durchgehen. weil er meckert weil die $action variable leer ist.

ist es so verständlich?
danke für die hilfe.
Mit Zitat antworten
  #11 (permalink)  
Alt 07-04-2005, 13:42
Wurzel
 Master
Links : Onlinestatus : Wurzel ist offline
Registriert seit: Jul 2002
Ort: double-u-upper-valley
Beiträge: 7.477
Wurzel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

prüfe mit isset($_REQUEST['action']) und gut ist.

btw: was soll das?
PHP-Code:
case "trend":
                 
$this->TrendAnalys();
                 break;

                 
$this->ScanTrendScan();   // <----
                 
break;
            default:
                
$this->showReports();
                break; 
__________________
-
Mit Zitat antworten
  #12 (permalink)  
Alt 07-04-2005, 13:53
yard
 Newbie
Links : Onlinestatus : yard ist offline
Registriert seit: Feb 2004
Beiträge: 31
yard ist zur Zeit noch ein unbeschriebenes Blatt
Standard

$_REQUEST['action'] ist nicht vorhanden. aber spielt das eine rolle? die kann ja auch leer sein. warum ruft er aus..?


PHP-Code:
$this->ScanTrendScan(); 
ist eine function. tut nichts zur sache.
Mit Zitat antworten
  #13 (permalink)  
Alt 07-04-2005, 13:55
BAAL
 Newbie
Links : Onlinestatus : BAAL ist offline
Registriert seit: Feb 2005
Ort: Emmerich am Rhein
Beiträge: 12
BAAL ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hmm so ma als kleine zwischenfrage was für eine php-Version haste druff. Dat funktioniert nämlich erst ab PHP 4.1.0
__________________
wenn wir unsere Agenturräume in nem Baumhaus hätten könnten wir wenigstens behaupten wir wären auf einen grünen Zweig gekommen
Mit Zitat antworten
  #14 (permalink)  
Alt 07-04-2005, 13:57
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

PHP-Code:
if (isset($_REQUEST['action']))
  
$action $_REQUEST['action'];
else
  
$action ''
mach das mal so
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #15 (permalink)  
Alt 07-04-2005, 13:59
yard
 Newbie
Links : Onlinestatus : yard ist offline
Registriert seit: Feb 2004
Beiträge: 31
yard ist zur Zeit noch ein unbeschriebenes Blatt
Standard

PHP 5 (5.0.3)

Das stimmt schon. Aber danke.

Ich hab einfach das Problem das meine Variablen nicht übergeben werden. Auch wenn ich Classen libarys in der index.php datei einlese mit require_once() werden die functionen dann nicht übernommen wenn ich in die classen verlinke. und in jeder classe die libarys wieder einlesen macht ja keinen sinn.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

MariaDB 5.5 veröffentlicht
MariaDB 5.5 veröffentlichtDie freie MySQL-Alternative MariaDB wurde in der stabilen Version 5.5.23 veröffentlicht und soll einige Verbesserungen gegenüber Oracles Communityversion von MySQL mitbringen.

16.04.2012 | Berni

Deutsche Yii Framework Community
Deutsche Yii Framework CommunitySeit dem 19.03.2012 gibt es für die Yii PHP Framework Community ein deutsches Zuhause.

20.03.2012 | dhcomputer

 

Aktuelle PHP Scripte

E-Mail-Coder Generator ansehen E-Mail-Coder Generator

E-Mail-Coder Generator, komplett in deutscher Sprache. Mit diesem Generator können Sie Ihre E-Mail-Adresse codieren und so gegenüber Spidern schützen.

23.05.2012 fullmedia | Kategorie: PHP/ Mail
EMO Realty Manager ansehen EMO Realty Manager

EMO Realty Manager is a complete realty listing management solution software. It is easily customized to reflect your creativity whether you are starting from scratch or integrating into an existing web site. EMO Realty Manager can be used to promote re

23.05.2012 myrephp | Kategorie: PHP/ Anzeigenmarkt
MatPo Image Hosting Script ansehen MatPo Image Hosting Script

Mit diesem PHP-Script (mini CMS) kann man .jpg, .gif und .png-Dateien auf den Server laden. Bildergröße beim Hochladen änderbar sowie eine Beschreibung zum Bild angegeben werden kann. Damit das Webspace nicht missbraucht werden kann gibt es jetzt auch

23.05.2012 MatPo | Kategorie: PHP/ Bilder
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 15:54 Uhr.