kostenloser Webspace werbefrei: lima-city


php wenn error

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    bilo

    bilo hat kostenlosen Webspace.

    hallo

    ich hab voll ein problem lol

    1)
    erstens wenn mein php script ne fehler hat und error wird angezeit da wird der aufbau der website gestoppt und dann sieht man halbe meines designs

    2)
    wenn eine if frage falsch is dann mache ich da
    exit;
    befehl rein
    weil irgendwie klappt zu viele if fragen nicht O.o

    kann man dagegen was tun?

    mfg biLo
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. r*****r

    h??

    ich hab das jetzt drei mal durchgelesen und immer noch nicht verstanden, was dein Problem ist, k?nntest du deine Frage etwas besser ausdr?cken.


    ps: sehr schlechte grammatik.
  4. Hi,

    dass der Aufbau deiner Seite bei einem php Fehler gestoppt wird, is klar. Eigentlich sollte eine Seite ja auch keine Fehler enthalten :biggrin:. Wenn du willst, kannst du ja alle Fehler erst gar nicht melden lassen: error_reporting(0).

    Das mit der if-Schleife versteh ich nicht. Kannst du vielleicht mal den Code posten?

    mfg,
    hr
  5. Autor dieses Themas

    bilo

    bilo hat kostenlosen Webspace.

    ya sry meine erkl?rungen sind shice ^^


    $abfrage = "SELECT * FROM nickfilter";
    $ergebnis = mysql_query($abfrage);
    while($row = mysql_fetch_object($ergebnis))
    {
    $nick = $row->nick;
    if($nick == "$username"){
    echo "Dieser Nick enthaltet was dummes :P. Such dir ein anderes aus ;).";
    exit; //den da mein ich ^^
    }
    }


    wenn exit aktiviert wird dann bleibt die seite stehen und mein design wird dann net weiter geladen...
    und will andere l?sung daf?r----- =/


    Beitrag ge?ndert am 10.12.2005 23:27 von bilo

  6. ya sry meine erkl?rungen sind shice ^^


    $abfrage = "SELECT * FROM nickfilter";
    $ergebnis = mysql_query($abfrage);
    while($row = mysql_fetch_object($ergebnis))
    {
    $nick = $row->nick;
    if($nick == "$username"){
    echo "Dieser Nick enthaltet was dummes :P. Such dir ein anderes aus ;).";
    exit; //denn da mein ich ^^
    }
    }


    wenn exit aktiviert wird dann bleibt die seite stehen und mein design wird dann net weiter geladen...
    und will andere l?sung daf?r----- =/


    ?hm, was soll die Frage???
    Dann entfern das "exit ();" doch einfach?! :confused:
  7. Autor dieses Themas

    bilo

    bilo hat kostenlosen Webspace.

    ja aber dann wird doch mein script weiterhin ausgef?hrt.. da kommt ja nochmehr abfragen... und eintr?ge...
    kann man nicht machn das der script angehalten wird aber der seiten aufbau geht weiter??

    Beitrag ge?ndert am 10.12.2005 23:29 von bilo
  8. Vielleicht hilft dir ja "continue"
    Guckst du hier:

    $abfrage = "SELECT * FROM nickfilter";
    $ergebnis = mysql_query($abfrage);
    while($row = mysql_fetch_object($ergebnis))
    {
    $nick = $row->nick;
    if($nick == "$username"){
    echo "Dieser Nick enthaltet was dummes :P. Such dir ein anderes aus ;).";
    continue;
    }

    }

    Wenn das nicht so funktionier, wie du dir vorgestellt hast, kannst du statt "continue" auch mal "break" versuchen.
  9. Autor dieses Themas

    bilo

    bilo hat kostenlosen Webspace.

    klappt leider net =/

    also ich gebe mal ne script als beispiel

    <? if($sector == "regnow"){


    $abfrage = "SELECT * FROM nickfilter";
    $ergebnis = mysql_query($abfrage);
    while($row = mysql_fetch_object($ergebnis))
    {
    $nick = $row->nick;
    if($nick == "$username"){
    echo "Dieser Nick enthaltet was dummes :P. Such dir ein anderes aus ;).";
    exit;
    }
    }

    $abfrage = "SELECT * FROM ipsperre";
    $ergebnis = mysql_query($abfrage);
    while($row = mysql_fetch_object($ergebnis))
    {
    $ipcheck = $row->ip;
    $ip = $HTTP_SERVER_VARS["REMOTE_ADDR"];
    if($ip == "$ipcheck"){
    echo "Du bist verbannt worden und kannst keine Nicknames mehr erstellen";
    exit;
    }
    }

    $username = $_POST["username"];
    $passwort = $_POST["passwort"];
    $passwort2 = $_POST["passwort2"];




    if($passwort != $passwort2 OR $username == "" OR $passwort == "")
    {
    echo "<center><br><font color='red'>Eingabefehler. Bitte alle Felder korrekt ausf?llen.</font></center>";
    exit;
    }
    $passwort = md5($passwort);

    $result = mysql_query("SELECT id FROM user WHERE username LIKE '$username'");
    $menge = mysql_num_rows($result);

    if($menge == 0)
    {
    $eintrag = "INSERT INTO user (username, passwort, ip, geschlecht, age, motto, wohnort, sternzeichen, gro?, beruf) VALUES ('$username', '$passwort', '$ip', '$geschlecht', '$alter', 'Keine Angaben', 'Keine Angaben', 'Keine Angaben', 'Keine Angaben', 'Keine Angaben' )";
    $eintragen = mysql_query($eintrag);




    if($eintragen == true)
    {
    echo "Registration abgeschlossen. <b>$username</b> wurde erstellt. <a href=\"index.php\">Startseite</a>";
    }
    else
    {
    echo "<center><br><font color='red'>Fehler beim Speichern des Benutzernames durch techniche St?rungen. Versuchen sie es sp?ter noch einmal oder benachrichtigen sie den webmaster</font></center> ";
    }


    }

    else
    {
    echo "<font color='red'>Benutzername schon vorhanden.</font>";
    }

    }
    ?>


    naja bei continue ging halt der script weiter. Da ist mein nickfilter nur dumm da weil er sag schon badname, aber nick wird trotzdem registriert. ich muss das woll alles mit if machn...

  10. @lagg: Was meinst du denn damit??

    Zum Code: Ist ja klar, wenn du die exit-Anweisung verwendest, dann wird das Script abgebrochen, und dein der Rest der Seite wird nicht angezeigt.
    Wenn du nicht willst, dass das passiert, dann musst du alles in eine if-Schleife einbinden, sonst wird der Rest, der nach der ersten if-Schleife folgt, trotzdem ausgef?hrt (oder continue, wie schon erw?hnt, verwenden). Du kannst es eingentlich lassen... h?ng nach der if-Schleife einfach die else if-Schleife hin. Dann sollte es gehen.
    Alles klar?

    mfg,
    hr
  11. Mit so vielen Bedingungen kann man es auch machen, ich hab nur die Erfahrung gemacht, das man da zienlich schnell Fehler macht.

    lagg schrieb:
    ich habe ma ne frage: wie habt ihr das alles gelern?

    -B?cher lesen
    -erfahrung Sammeln (pages machen)
    -Bei problemen selbst im Forum fragen

    Back to Topic:

    Also ich hatte mal das gleich Problem und hab mir dann folgendes ?berlegt:

    <?php
    //Vor diesem Code steht nix
    $richtig=true;
    
    //Irgendwelche abfragen
    
    Wenn irgend ein Fehler auftaucht
    if(Bedingung){$richtig=false}
    
    
    if(!$richtig){
    header('location: htto://domain.de/fehlerseite.php');
    exit();
    }
    
    //Ausgabe der eigentlichen Page...
    
    
    ?>


    Ist halt Ziemlich umsta?ndlich erstmal die Struktur in dein Script zu bringen, das es einen Teil gibt, der alles ?berpr?ft, aber noch nix ausgeben darf.


    Hoffe das hilft dir.

    Gru?, Milan

    Beitrag ge?ndert am 11.12.2005 02:19 von ou
  12. Autor dieses Themas

    bilo

    bilo hat kostenlosen Webspace.

    $richtig=true
    sollte man nicht amchn xD sonst kommt man immer leich reint :P

    also ich hab mal diese if schleife mal gemacht aber bei mir klappter nicht

    if(das != "das")
    {
    echo "fehler blub bla";
    } else {
    if(2. != "blub")
    {
    echo "existiert schon blub bla"
    } else {
    if(.... usw

    ungef?hr 4-6 if ?dinger brauch ich nur dann kommt da immer
    echo "<font color='red'>Benutzername schon vorhanden.</font>";

    und das 4 mal wenn ich 4 ifs habe O.o
    deswegen wollte ich hilfe :P
    hmmmmmm

  13. t*****b

    $abfrage = "SELECT * FROM nickfilter";
    $ergebnis = mysql_query($abfrage);
    while($row = mysql_fetch_object($ergebnis))
    {
    $nick = $row->nick;
    if($nick == "$username"){
    echo "Dieser Nick enthaltet was dummes :P. Such dir ein anderes aus ;).";
    exit; //den da mein ich ^^
    }
    }



    ?ndere

    if($nick == "$username"){

    in

    if($nick == $username){

  14. $richtig=true
    sollte man nicht amchn xD sonst kommt man immer leich reint :P

    Wenn du am Anfang $richtig = false; schreibst und erst, wenn der User erfolgreich gefunden wurde und das Passwort richtig ist, dann sollte man $richtig auf true setzen und fertig.

    MfG Lucas
  15. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!