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! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 1 Stimmen, 5,00 durchschnittlich.
  #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: 25.236
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; 
__________________
Kissolino.com
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

Von 0 auf über 2 Mio € Umsatz in weniger als 12 Monaten – wie die Pixelwerker das nur durch SEO geschafft haben
Von 0 auf über 2 Mio € Umsatz in weniger als 12 Monaten – wie die Pixelwerker das nur durch SEO geschafft habenSEO oder SEA? Warum SEO die besserer Methode ist.

01.10.2021 | Berni

Kundengewinnung und Kundenbindung
Kundengewinnung und KundenbindungVertrieb läuft doch immer persönlich. Das funktioniert nicht mit dem Internet! Wirklich?

24.09.2021 | Berni


 

Aktuelle PHP Scripte

Simple CMS PHP ansehen Simple CMS PHP

Simple CMS PHP is a very simple content management system. You just create a page content into the admin area and then copy the code for this content and paste it into the page of your website, where you want the content to appear. You do not need of any

01.10.2021 nevenov | Kategorie: PHP/ CMS
Funeral Script PHP ansehen Funeral Script PHP

Funeral Script PHP is the easiest way to place obituaries on your funeral home website. The script is designed to be included into your webpage and fit your website layout. Visitors to your website will be able read the obituaries and post/read comments o

01.10.2021 nevenov | Kategorie: PHP/ News
FAQ Script PHP ansehen FAQ Script PHP

FAQ Script PHP is a simple knowledgebase script and you could use it as a Frequently Asked Question section on your website. It is written in PHP and MySQL.

29.09.2021 nevenov | Kategorie: PHP/ FAQ
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 13:25 Uhr.