Problem: eregi verändert Variablen

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

  • Problem: eregi verändert Variablen

    Ich habe folgendes Problem:
    Ich habe ein Formular in dem der User unter anderem sein Alter eingeben soll.
    Wenn ich in dieses Feld etwas eingebe, UND in der Felhlerkontrolle eregi zum Einsatz kommt, etwa bei der Mail-Adresse oder bei Felder in die nur Zahlen sollen, wie eben das Alter oder auch die ICQ-Nummer, UND einer dieser Werte zu beanstanden ist, steht danach in dem Feld, in das ich einfach den übergebenen Wert als VALUE einsetzen lasse, nur noch eine 1.

    Ich hoffe ich konnte klarmachen, um was es geht

    EDIT: Nochmal etwas klarer : Es ist egal, auf welche Variable ich eregi ansetze, es wird immer die eine Variable die das Alter enthält auf eins gesetzt.
    Zuletzt geändert von Theto; 09.03.2003, 15:19.

  • #2
    1 - true
    0 - false

    du hast wohl

    PHP-Code:
    echo eregi(...);

    // gemacht, statt

    if (eregi(...)) {
     .
     .
     .

    ohne code von dir kann man da nciht mehr sagen.

    EDIT:
    schaue auch mal in meine sig....
    [...] Schlussfolgerung: Ein Computer wird das tun, was Du programmierst - nicht das was du willst.

    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Ne, das Verrückte ist, dass die Variable überhaupt nix mit der Überprüfung zu tun hat!
      Ich kann gern mal den Code (auszugsweise) posten, aber nicht schimpfen, ich weiß es sieht furchtbar aus , ich habs nicht geschrieben, ich wurde bloß zum reparieren hinzugezogen *sfz*

      PHP-Code:
      if ($bewerbgo=="send"){
      if(
      $General_Nick == "" || $EMail == "" || $General_ICQ == "" ||  $codex_gelesen != "Ja" || $Person_Name == "" || $Person_Alter "" || $Person_Geschlecht == "None" || !eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@([0-9a-z][0-9a-z-]*[0-9a-z]\.)+([a-z]{2}|com|edu|gov|int|mil|net|org|shop|aero|biz|coop|info|museum|name|pro|eu)?$"$EMail)) {

      print
      "
      <FORM ACTION=\"
      $PHP_SELF?go=bewerbung&bewerbgo=send\" method=post name=Formular>
      <TABLE BORDER=\"0\">

      <TR><TD ALIGN=\"right\"><FONT FACE=\"Verdana\" SIZE=\"2\" "
      ; if($Person_Alter == "") { echo ("color=\"#FF0000\"><B>"); } else { echo ("color=\"#FFFFFF\">"); } print"Alter*:</B></FONT></TD><TD><INPUT TYPE=\"text\" SIZE=\"2\" NAME=\"Person_Alter\" MAXLENGTH=\"2\" VALUE=\"$Person_Alter\"></TD></TR>

      <TR><TD ALIGN=\"Center\"><INPUT TYPE=\"submit\" VALUE=\"Absenden\"></TD><TD ALIGN=\"Center\"><INPUT TYPE=\"reset\" VALUE=\"L&ouml;schen\"></TD></TR>
      </TABLE>
      </FORM>"

      Ich denke, das sollte es sein

      EDIT:
      schaue auch mal in meine sig....
      [...] Schlussfolgerung: Ein Computer wird das tun, was Du programmierst - nicht das was du willst.
      Ist mir durchaus klar, ich suche ja nicht umsonst seit Stunden nach dem Fehler...
      Zuletzt geändert von Theto; 09.03.2003, 15:30.

      Kommentar


      • #4
        OffTopic:
        wenn du keine enter-taste hast, warum machst, du dann 4 umbrüche rein?
        ich hätte den code, dann konsequent in eine zeile geschrieben. dann kann man das noch besser lessen.
        EDIT:
        eine ausgabe von $email habe ich auch nirgend gesehen.
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          deine if-abfrage beinhaltet folgendes:

          ... || $Person_Name == "" || $Person_Alter = "" || ...

          mach bei $Person_Alter doch auch mal zwei gleichheitszeichen dahinter, wie wäre das...?

          ;-)
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar

          Lädt...
          X