Antworten auf deine Fragen:
Neues Thema erstellen

Fehlermeldung Webshop

karina06

Nicht mehr ganz neu hier

Hilllfe....., bin dabei zu versuchen testweise einen Shop zu erstellen, bekomme folgende Fehlermeldung.
Kann mir da jemand weiter helfen? Ich weiß nicht wo ich zu suchen anfangen soll.

Fatal error: Uncaught exception 'Exception' with message 'Keine Kundennummer' in C:\xampp\htdocs\class_artikel.php:48 Stack trace: #0 C:\xampp\htdocs\programm36.php(21): artikel->bestellen(NULL) #1 {main} thrown in C:\xampp\htdocs\class_artikel.php on line 48

Danke
Karina sende vorsichtshalber schonmal einen code mit.?
progress.gif
PHP:
<?php 
require_once ("class_sitzungsSeite.php");
class artikel extends sitzungsSeite
{
  protected $artikelArray = array();
  public function __construct($dateiname)
  {
    parent::__construct();
    $data = simplexml_load_file($dateiname);
    foreach($data as $k => $v)
    {
      $artNr = intval($v->attributes());
      foreach($v as $k1 => $v2)
      {
        $this->artikelArray[$artNr][$k1] = (string)$v2;
      }
    }
  }
  public function anzeigen()
  {
    foreach($this->artikelArray as $key => $value)
    {
      foreach($value as $subKey => $subVal)
      {
        if ($subKey == "name")
        {
          print "<a href=\"".$_SERVER['PHP_SELF']."?id=".
      $key."\">".$subVal."</a>\n";
        }
        else
          print $subVal." Euro\n";
      }
      print "<br />\n";
    }
  }
  public function waehlen($artikelnummer)
  {
    $this->korb[$artikelnummer]++;
  }
 
 public function bestellen($kunde, $datei = "bestellung.xml")
 {
  if(!is_integer($kunde)) #Gültige Kundennummer?
  throw new Exception('Keine Kundennummer'); #Fehler ausgeben
 else
  {
    if(count($this->korb) > 0)
    {
      $xml = new SimpleXMLElement("<bestellung></bestellung>");
   #Attribut "kunde" schreibaen
   $xml->addAttribute("kunde", $kunde);
      foreach($this->korb as $key => $value) # Artikel bearbeiten
      {
        $art = $xml->addChild("artikel"); # Neues <artikel>-Element
        $art->addAttribute("name", $key);
        $art->addAttribute("anzahl", $value);
      }
      $error = $xml->asXML($datei);  # Datei schreiben.
      $this->korb = array();    # Auswahl löschen.
      return $error;
    }
    return false; # keine Artikel ausgewählt
   }
  }
}
?>
 
Zuletzt bearbeitet von einem Moderator:

Duddle

Posting-Frequenz: 14µHz

AW: Fehlermeldung Webshop

Es stehen doch alle notwendigen Details da:
Fatal error: Uncaught exception 'Exception' with message 'Keine Kundennummer' in C:\xampp\htdocs\class_artikel.php:48 Stack trace: #0 C:\xampp\htdocs\programm36.php(21): artikel->bestellen(NULL) #1 {main} thrown in C:\xampp\htdocs\class_artikel.php on line 48

Es wurde eine Exception in Zeile 48 geworfen:
PHP:
  if(!is_integer($kunde)) #Gültige Kundennummer?
  throw new Exception('Keine Kundennummer'); #Fehler ausgeben
Also wurde keine gültige Kundennummer übergeben. Im Stack Trace steht ja auch, dass bestellen() mit NULL aufgerufen wurde, und zwar in programm36.php auf Zeile 21.

Geh dort hin und finde heraus, warum NULL übergeben wird.


Duddle
 

fotosaugsburg

Nicht mehr ganz neu hier

AW: Fehlermeldung Webshop

Ich glaube nicht das es daran liegt, denn die exeption ist ja genau dafür zuständig.
Wenn Du expeptions benutzt solltest Du auch ein catch und try haben ......
 

karina06

Nicht mehr ganz neu hier

AW: Fehlermeldung Webshop

Danke für eure Mühe, super.
Bin einfach alles nochmal durchgegangen. Fehler ist beseitigt, wie weiß ich nicht. Klappt jetzt aber.
 

saila

Moderatorle

AW: Fehlermeldung Webshop

Ich glaube nicht das es daran liegt, denn die exeption ist ja genau dafür zuständig.
Wenn Du expeptions benutzt solltest Du auch ein catch und try haben ......

Obgleich der Bug wohl auf wundersame Weise sich selbst behoben hat, so trifft deine Feststellung/Meinung zum Exception nicht zu. Durch try/catch wird das Programm ausgeführt (try), tritt ein Fehler auf, wird dieser in catch() abgefangen. Je nachdem wie man nun die Ausgabe (Exception-Verhalten) vordefiniert hat, so weist die Ausgabe auf jeden Fall auf den Fehler und die jeweilige Datei inkl. einer Zeilennummer.

Ergo ist der Fehler da, wo er auch im catch ausgegeben wird. Ansonsten würde ich gerne eine Gegenteilige Begründung erfahren.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.616
Beiträge
1.538.358
Mitglieder
67.536
Neuestes Mitglied
QuestionMark
Oben