[PHP] Komplettes Serverantragscript (fast fertig, fehlt nur ne abfrage)

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Gimli_q, 29. Juni 2007 .

  1. 29. Juni 2007
    Komplettes Serverantragscript (fast fertig, fehlt nur ne abfrage)

    Heyho leute,

    ich habe mit meinem Kollegen hier nun ein Serverantragscript fertiggestellt, das wie folgt funktioniert.

    1.) User loggt sich auf der HP ein.
    2.) User wählt ein Packet aus, indemfall (TS Server oder Bouncer)
    3.) Nach der auswahl eines Packetes, hat er z.b. beim TSServer den Antrag vor sich.
    4.) Nachdem der Antrag abgesendet wurde, wird der Antrag in der Datenbank gespeichert.
    5.) Ein Admin sieht das im ACP und kann den per einem Mausklick (Fertigstellen) online stellen.
    Der Server wird direkt angelegt und die Email geht an den Kunden raus.

    Ich möchte nun noch dem User ein Zugriffsrecht vergeben nachdem der Button gedrückt wurde.
    Ich denke das kann man mit einer kleinen Abfrage bestimmt realisieren oder?

    Bitte helft mir =)
     
  2. 29. Juni 2007
    AW: Komplettes Serverantragscript (fast fertig, fehlt nur ne abfrage)

    in wie fern ein zugriffsrecht?
     
  3. 29. Juni 2007
    AW: Komplettes Serverantragscript (fast fertig, fehlt nur ne abfrage)

    Ich habe in meiner Datenbank eine Tabelle die so ausschaut:

    Tabellen Name: user_groups
    und hier sind halt die ganzen Rechte festgelegt, wie z.B. tsantrag, tssupport usw...

    Die Rechte werden normalerweise per Checkbox im Admincenter manuell an die User gegeben.

    Hilft dir das weiter?
     
  4. 29. Juni 2007
    AW: Komplettes Serverantragscript (fast fertig, fehlt nur ne abfrage)

    Mach halt n Query das wenn du den anlegst oder das Form versendet wird sofort die jeweiligen "Checkbox"-Werte auf "ON" / 1 stellt.
     
  5. 29. Juni 2007
    AW: Komplettes Serverantragscript (fast fertig, fehlt nur ne abfrage)

    da ich recht wenig ahnugn von php abfragen bzw. mysql inserts und so was habe^^, kann mir jemand ein beispiel reinposten (telefonzelle?)
     
  6. 29. Juni 2007
    AW: Komplettes Serverantragscript (fast fertig, fehlt nur ne abfrage)

    am besten machst du das so:
    deine user tabelle sollte eine ID spalte haben ansonsten nachholen.

    eine zweite tabelle verwaltet die recht:
    ID PRIVILEG

    jetzt gibts du einem user so rechte:

    PHP:
    $ID  1337 //user ders bekommen soll
    $privileg  "tssupport" // privileg zum geben
    $sql  "INSERT INTO user_privileg VALUES('" $ID  "', '"  $privileg  "')" ;
    mysql_query ( $sql );
    und testet seine rechte so:
    PHP:
    $ID  1337 //zu testender user
    $privileg  "tssupport" //zu testendes privileg
    $sql  "SELECT COUNT(*) AS granted FROM user_privileg WHERE ID= $ID  && PRIVILEG= $privileg " ;
    $result  mysql_query ( $sql );
    $row  mysql_fetch_array ( $result );
    if(
    $row [ "granted))
    echo "
    rechte vorhanden ";
    else
    echo "
    keine rechte ";
    OHNE GEWÄHR AUF FUNKTIONALITÄT
    UNGETESTET
    sollte aber dir sagen wie dus machen kannst!

    mfg tobZel
     
  7. 29. Juni 2007
    AW: Komplettes Serverantragscript (fast fertig, fehlt nur ne abfrage)

    PHP:
    } else {
        
    $userID  mysql_query ( "SELECT * FROM clan_user WHERE userID= $userID ;" );
        
    $userID  $userID //user ders bekommen soll
            
    $privileg  "tskunde" // privileg zum geben
            
    $sql  "INSERT INTO " . PREFIX . "user_groups VALUES('" $userID  "', '"  $privileg  "')" ;
            
    mysql_query ( $sql );
        
    $userID  $userID //zu testender user
            
    $privileg  "tskunde" //zu testendes privileg
            
    $sql  "SELECT COUNT(*) AS granted FROM " . PREFIX . "user WHERE userID= $userID  && PRIVILEG= $privileg " ;
            
    $result  mysql_query ( $sql );
            
    $row  mysql_fetch_array ( $result );
            if(
    $row [ "granted" ])
                echo 
    "rechte vorhanden" ;
                else
                echo 
    "keine rechte" ;  
                }
    leider funktioniert das bei mir nicht, was ist da falsch?
     
  8. 29. Juni 2007
    AW: Komplettes Serverantragscript (fast fertig, fehlt nur ne abfrage)

    Weil das nur ein Beispiel war und du das an dein System anpassen musst...
    PHP:
    $userID  $userID
    ist uebrigens Bloedsinn...
     
  9. 30. Juni 2007
    AW: Komplettes Serverantragscript (fast fertig, fehlt nur ne abfrage)

    PHP:
    $userID  mysql_query ( "SELECT * FROM clan_user WHERE userID= $userID ;" );
    Das hier ist übringes totaler dreck!
    Was soll dir die anfrage bringen? Ich denke du willst damit ne user id oder? die hast du doch schon! Sonst könntest das ja nicht in die where rein tun. mysql_query gibt auch ne mysql ressource zurück.
    guck dir mal en mysql tut an!
    das ist ganz ok: http://www.php-q.net

    mfg tobZel
     
  10. 30. Juni 2007
    AW: Komplettes Serverantragscript (fast fertig, fehlt nur ne abfrage)

    in $userID steht aber
    du trägst also die rückgabe der mysql_query() anfrage ein, nicht aber einen brauchbaren wert aus der datenbank
    außerdem ist:
    sowieso kein gültiger mysql query
     
  11. 30. Juni 2007
    AW: Komplettes Serverantragscript (fast fertig, fehlt nur ne abfrage)

    Vielleicht einfach so?

    PHP:
    <?
    $tabelle  "user_db" ;
    $feldname  "privileg" ;
    $privileg_wert  "100" ;

    $sql  "INSERT INTO `" . $tabelle . "` ( `Name` , `Vorname` , `Land` , `PLZ` , `Ort` , `Strasse` , `Telefon` , `Telefax` , `Email`, `" . $feldname . "` ) 
    VALUES (
    '', 'Mueller', 'Hans', 'DE', '86120', 'Irgendwo', 'Poststraße', '08002123', '0815202', 'hans@muellers.com', '"
    . $privileg_wert . "'
    );"
    ;

    if(
    mysql_query ( $sql )) {
      echo 
    "User wurde der DB hinzugefügt" ;
    else 
      die (
    "<b>Fehler:</b> Folgender Fehler: " . mysql_error (). ");
    folgendes solltest du bedenken,

    ein auto increment in der userdb (z.b. feld userid)
    irgendein uniquefeld (z.b. loginname oder name, vorname, oder alles)

    sollte das feld unique sein kannst du den fehler abfangen und gucken ob er schon vorhanden ist. (duplicate entry). Andernfalls kannst du überprüfen ob ein user schon in der db steht mit einer simplen abfrage (select * from user_db where userid = $userid limit 1) [bzw. loginname = loginname, ...] und dann mit mysql_affected_rows weiterarbeiten. Sollte kein Ergebnis zurückgegeben werden weil der user nicht vorhanden ist, wird affected rows nie 1 oder mehr werden

    und wieso schreibt das script nicht einfach dein kolleg?
     
  12. 30. Juni 2007
    AW: Komplettes Serverantragscript (fast fertig, fehlt nur ne abfrage)

    Ich kann leider nicht mehr dazu sagen, als, wie oft sollen wir es noch sagen, du sollst dich endlich mal ordentlich in PHP einlernen ... aber stattdessen erzählst du, dass du an einem kompletten Script gearbeitet hast und dieses bis auf eine Abfrage fertigstelltest und zeigst während dem thread wiedermal .. na egal lassen wir das.

    enels script darf ich so aber nicht stehen lassen! Zum Einen ist der Query nicht korrekt (leere daten im Value würden das namensfeld somit auch leerbeschrieben) und zum Anderen darf man noobs keine Empfehlung geben den mysql_error direkt auszugeben! Man selbst sollte sich diese macke für seine scripts nicht angewöhnen, selbst während der entwicklung ist das nicht unbedingt nötig!

    @Murdoc, ich grüble die ganze zeit schon, aber wieso ist der query ($sql = "INSERT INTO ".PREFIX."user_groups VALUES('". $userID . "', '" . $privileg . "')" nicht gültig? Gut die Form ist schlecht, aber funktionieren würde er.
     
  13. 30. Juni 2007
    AW: Komplettes Serverantragscript (fast fertig, fehlt nur ne abfrage)

    Man kann mysql_affected_rows nicht bei SELECT-Queries einsetzen.
    PHP: mysql_affected_rows - Manual

    Das wundert mich auch schon die ganze Zeit.
     
  14. 30. Juni 2007
    AW: Komplettes Serverantragscript (fast fertig, fehlt nur ne abfrage)

    dann benutzt man eben die num rows function ;-).

    zum anderen ist es leer, weil ich mich in der zeile vertan hatte ;-) also einfach z.b. noch insert into userid ;-D dann gibbet auch kein '' mehr

    und ein mysql error auf privaten / test scripts ausgeben ist sicherlich nicht falsch
     
  15. 30. Juni 2007
    AW: Komplettes Serverantragscript (fast fertig, fehlt nur ne abfrage)

    Jo enel, bist wohl verrutscht, aber wenn du dir im Klaren bist, dass sowas auf "privaten/test" - scripts nicht unbedingt falsch ist, dann erwähne es doch auch dass es auf produktivlaufenden Server kritisch ist. Jedes unsichere Script online weniger hilft der Community! Und wenn man einem noob etwas zeigt, sollte man das kritische davon dann schon beleuchten.
     
  16. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.