Ankündigung

Einklappen
Keine Ankündigung bisher.

Bekomme eine Notice Meldung nicht weg!

Einklappen

Neue Werbung 2019

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

  • litterauspirna
    hat ein Thema erstellt Bekomme eine Notice Meldung nicht weg!.

    Bekomme eine Notice Meldung nicht weg!

    Hallo Leute!

    Ich bin gradabei meine Seite zu debuggen. Ich habe ein Problem ich bekomme nur noch eine Notice Meldung und kriege die einfach nicht weg!

    Hier mal ein kleiner Codeauszug!
    PHP-Code:
    $sqlbefehl ="Select 
        c.id,
        c.ncat,
        n.catid
       From 
        
    $tab_ncats c
       Left Join 
        
    $tab_news n
       ON 
        (c.id = n.catid)
       Where 
        c.id='"
    .intval($_GET['id'])."'//das ist zeile 44
       "

    Und die Fehlermeldung dazu!
    Notice: Undefined index: id in C:\xampp\htdocs\littis-web\news\newscat_edit.php on line 44

    Was die Fehlermeldung bedeutet weis ich,aber ich weis nicht wie ich das wegbekomme. Die kommt auch nur wenn der Sende Button zum ändern gedrückt wurde!

    Das gleiche Problem habe ich mit Variablen beim Email Versand bei einer Registration zum Beispiel!

    Dazu auch ein kleiner Codeauszug
    PHP-Code:
    $datum time();
       
    //zufallsfreischaltcode für den emaillink erzeugen
       
    $code md5(uniqid(microtime($code)));
       
    $sqlbefehl ="
          Insert Into 
           
    $tab_user
            (
             username,
             pwd,
             email,
             code,
             datum
            )
          VALUES 
            (
             '"
    .mysql_real_escape_string($_POST['username'])."',
             password('"
    .mysql_real_escape_string($_POST['pw1'])."'),
             '"
    .mysql_real_escape_string($_POST['email'])."',
             '"
    .mysql_real_escape_string($code)."',
             '
    $datum'
            )
          "
    ;
       
    $result mysql_query($sqlbefehl)or die(mysql_error());
       
       
    $empfaenger $_POST['email'];
       
    $betreff .="Registrierung bei www.littis-web.de!";
       
    $mailtext .= "Hallo ".$_POST['username']."!\n Sie haben sich erfolgreich am ".date("d.m.Y H:i")." bei mir registriert!\n";
       
    $mailtext .="Ihre Zugangsdaten sind folgende!\n";
       
    $mailtext .="Username: ".$_POST['username']."\n";
       
    $mailtext .="Passwort: ".$_POST['pw1']."\n\n";
       
    $mailtext .= "Um ihre Registrierung nun entgültig zu machen müssen Sie nur noch den nachfolgenden Link betätigen!\n";
       
    $mailtext .= "http://localhost/littis-web/user/active.php?code=".$code."\n\n";
       
    $header .= 'From: Littis-Web Registrierung' "\n";
       
    $header .= 'MIME-Version: 1.0' "\n";
       
    $header .= 'Content-type: text/plain; charset="iso-8859-1"' "\n";
       
       
    mail($empfaenger,$betreff,$mailtext,$header);
       
       
    header("Location: ../index.php");
      }
      if(
    $_POST['pw1'] != $_POST['pw2'])
      {
       echo 
    msgBox("Die Passwörter stimmen nicht überein! <br>".$link);
       exit();
      }
     }

    Da kommt die Meldung bei
    $empfaenger
    $betreff
    $mailtext

    Kann mir da einer weiter helfen? Vielen und mfg der litter

  • cycap
    antwortet
    Hi,

    also deine Aussage

    Was die Fehlermeldung bedeutet weis ich,aber ich weis nicht wie ich das wegbekomme.
    ist unlogisch. Denn wenn du wirklich wüsstest was diese Meldung verursacht, dann ist es absolut logisch wie man sie weg bekommt, deshalb hier mal die Erklärung:

    Die Notice kommt immer wenn du eine Variable benutzt die nicht definiert wurde.

    Benutzen heisst also du machst z.B. einen Vergleich mit einer Variable oder du verwendest eine Variable in einem String oder willst den Wert einer Variable einer anderen zuweisen.

    Beispiele:

    PHP-Code:
    $var1 "tag"// definiert die Variable var1 ==> OK
    $var2 $var1// definiert die Variable var2 ==> OK
    $var3 .= "hi"// entspricht $var3 = $var3."hi"; und somit wird $var3 benutzt ohne sie vorher definiert zu haben ==> NOTICE
    $var4 "heute ist ein $var1"// ==> OK
    $var5 "heute ist ein $var0"// ==> NOTICE 

    Einen Kommentar schreiben:


  • nikosch
    antwortet
    Warum sollte
    PHP-Code:
    isset(intval($_GET['id'])) 
    und
    PHP-Code:
    intval($_GET['id']) 
    auch unterschiedlich reagieren. Überleg mal, wer den Fehler erzeugt und was isset tut.

    Einen Kommentar schreiben:


  • litterauspirna
    antwortet
    Das habe ich schon gemacht,aber wenn ich so schriebe

    PHP-Code:
    isset(intval($_GET['id'])) 
    Dann komme ich nicht auf das gwünschte news zum beispiel sondern immer auf den selben datensatz. Darum frage ich ja!

    Einen Kommentar schreiben:


  • nikosch
    antwortet
    Wenn Du wirklich weißt, was es bedeutet bekommst Du es auch weg.

    PHP-Code:
    var_dump ();
    isset ();
    array_key_exists ();
    empty (); 

    Einen Kommentar schreiben:

Lädt...
X