Brauche hilfe beim Formular-Check

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

  • Brauche hilfe beim Formular-Check

    Also ich bin dabei nen kleines board zu basteln, nun ist es so, dass gäste dort nur antworten erstellen können, keine neuen themen.

    das funktioniert auch soweit.
    doch wenn jetzt ein gast das passwortfeld frei lassen (so wie es auch gedacht ist), und diese zufällig einen namen angeben, der bereits vorhanden ist, dann wird die antwort trotzdem erstellt, obwohl das passwort für diesen benutzernamen nicht angegeben wurde und obwohl dieser name schon vorhanden ist.

    wie kann ich das nun lösen.

    hier mal der code-schnipsel den ich bisher hab:

    PHP-Code:
    if(file_exists("user/$user.txt")){

    @
    $usn file("user/$user.txt");
    $sic explode("||"$usn[count($usn) - 1]);

    if(
    $passw != "$sic[0]"){
    echo 
    "blabla";
    exit;

    Danke schonmal für jede hilfe

  • #2
    naja, ne TextdB ist dafür ziemlich unflexibel. Aber geht auch.

    du liest die datei mit file() ein, hast dann ein array. das kannst du dann mit ner for() schleife durchlaufen und immer prüfen if $username == $andereruser { // error }

    das wars auch schon.

    Kommentar


    • #3
      Habs gelöst mit

      empty()


      PHP-Code:
      @$usn file("user/$user.txt");
      $sic explode("||"$usn[count($usn) - 1]);

      if(
      $passw != "empty()"){ 
      also funktioniert so auch.

      danke trotzdem für den tipp.

      nun hab ich aber nen neues problem erkannt:

      wenn ein Benutzer X bereits vorhanden ist können gäste mit dem benutzernamen x einen beitrag erstellen, wie also kann ich das setzen, dass gross- und kleinschreibung keine rolle spielt, wenn der name vergeben ist, dass er dann auch nicht von gästen benutzt werden kann?
      Zuletzt geändert von Newbie@PHP; 29.01.2004, 22:12.

      Kommentar


      • #4
        1.) was soll das hier bewirken???
        PHP-Code:
        if($passw != "empty()"){ 
        2.) war das nicht dein Problem:
        doch wenn jetzt ein gast das passwortfeld frei lassen (so wie es auch gedacht ist), und diese zufällig einen namen angeben, der bereits vorhanden ist, dann wird die antwort trotzdem erstellt, obwohl das passwort für diesen benutzernamen nicht angegeben wurde und obwohl dieser name schon vorhanden ist.

        Kommentar


        • #5
          also mal ein großer ausschnitt:

          PHP-Code:
          if(file_exists("user/$user.txt")){

          @
          $usn file("user/$user.txt");
          $sic explode("||"$usn[count($usn) - 1]);

          if(
          $passw != "empty()"){
          echo 
          "blablabla";
          exit;
          }
          $stat "(User)";

          $zahl $sic[3]+1;
          foreach(
          $usn as $ui2){
          $inhalt str_replace("||$sic[3]||","||$zahl||","$ui2");
          }
          $data fopen("user/$user.txt","w+");
          fputs($data,"$inhalt");
          fclose($data);

          }else{
          $stat "(Gast)";


          (Die Posts der User werden auch gezählt)

          Kommentar


          • #6
            kann ich immer noch nicht nachvollziehen. kannst ja mal ein paar kommentare einbringen, dann kann das noch was optimiert werden.

            Hast du eigentlich mal im Manual nach empty() geguckt und dir klar gemacht, was die FKT eigentlich macht? Außerdem seit wann setzt man Funktionen in " und was soll das bewirken?

            Kommentar


            • #7
              Also ich bin ja nun überhaupt kein kenner von php, aber ich denke mal, dass durch das empty man gezwungen ist, wenn man einen bereits bestehenden nutzernamen angibt, auch ein passwort einzugeben, aber da nur der besitzer dieses kennt, kann der gast mit diesen namen keine nachricht erstellen.

              Kommentar


              • #8
                auf jeden fall funktionierts, komicherweise.



                Original geschrieben von Newbie@PHP
                nun hab ich aber nen neues problem erkannt:

                wenn ein Benutzer X bereits vorhanden ist können gäste mit dem benutzernamen x einen beitrag erstellen, wie also kann ich das setzen, dass gross- und kleinschreibung keine rolle spielt, wenn der name vergeben ist, dass er dann auch nicht von gästen benutzt werden kann?

                Kommentar


                • #9
                  auch wieder die DB abfragen. Guck dir mal strtolower() an.

                  BTW: Bevor du hier immer Fragen musst, wären ein paar Grundlagen nicht schlecht. Vorallem, weil ich das gefühl hab, dass das ganze hier gar nicht dem entspricht, was du programmiern willst.

                  Kommentar


                  • #10
                    zu früh gefreut. jetzt kann keiner mehr posten ausser gäste.

                    stell mir mal bitte ne fertige genauere lösung als php vor:
                    (bin echter newbie und daher kann ich mit den vorschlag da oben nix anfangen)

                    also am besten immer zeigen wie man es umsetzen kann,danke


                    das forum läuft ohne mysql oder ähnlichen, direkt auf php-space, mal als kleine info.
                    die daten der user werden in textfiles (diese sind nach den namen der user benannt und bei registrierung erstellt worden) gespeichert.
                    Zuletzt geändert von Newbie@PHP; 29.01.2004, 22:33.

                    Kommentar


                    • #11
                      stell mir mal bitte ne fertige genauere lösung als php vor:
                      Hähä! Wächst mir Gras aus der Tasche. Es soll dein Forum werden, also lernst du auch gefälligst, wie man das Programmiert. Ich bin doch nicht dein Programmierer-Bimbo, oder? Vielleicht hast du den Sinn eines Forums nicht verstanden.

                      Kommentar


                      • #12
                        ja versteh ich doch, du sollst mir ja auch nicht das forum erstellen, sondern wenn du einen vorschlag hast, dann den code dazu angeben , bitte


                        übrigens hab ich den beiträgen zuvor noch was dazugefügt, damit ich nicht sociel hier poste

                        Kommentar


                        • #13
                          seh ich ganz ehrlich nicht ein. Es ist deine Pflicht ein paar Grundlagen zu lernen. Dass du kein Forum am ersten Tag schreiben kannst, ist ja klar. Erwartet auch keiner (außer dir vielleicht). Um PHP zu beherrschen, muss man schon was mehr Zeit investieren.

                          Ich hab dir Funktionen genannt. Die kannst du nachschlagen. Dabei stehen auch immer nette Beispiele, so dass ICH dir keinen Code mehr posten brauche.

                          Ansonsten endets nämlich wirklich da, wo ich gesagt habe.

                          Kommentar


                          • #14
                            also meine lösung die es heisst umzusetzen wäre

                            wenn user als user.txt existiert, dann check passwort, wenn passwort inkorrekt = fehler

                            für diese lösung brauch ich nen code...

                            Kommentar


                            • #15
                              für diese lösung brauch ich nen code...
                              *erstmal wortlos bin* Da simmer doch schon wieder beim Thema.

                              Was du von mir bekommst:

                              PHP-Code:
                              if(file_exists()) { // hast du ja schon.

                                // holst das PW da wo es gespeichert ist

                                
                              if(pwfalsch()) {// pw prüfen
                                  
                              echo 'geit net';
                                }


                              Kommentar

                              Lädt...
                              X