Avatar billede tobrukDk Novice
14. juli 2012 - 03:24 Der er 3 kommentarer og
1 løsning

betalt system

hej

arbejder lige nu på et log ind system som det er sådan at jeg skal finde ud af om f.eks. hvis de begge er 0 og 0, så skal den gøre sådan som jeg gerne vil have det, men hvis jeg har 1 og 1 så skal den bare gøre sådan her,

du kan se hvad jeg mener

<?php
session_start();     
include ("inc/db/db.php");
if($stmt = $mysqli->prepare("SELECT id_bruger, Brugernavn, djnavn, rank, betalt FROM `bruger_infomation` WHERE `Brugernavn` = ? AND `password` = ?"))
{
    $stmt->bind_param('ss', $brugernavn, $password);
    $brugernavn = $_POST["brugernavn_1"];
    $password = sha1($_POST["password_2"]);
    $stmt->execute();
    $stmt->store_result();
    $stmt->bind_result($id_bruger, $Brugernavn, $djnavn, $rank, $betalt);
    $stmt->fetch();
    $count = $stmt->num_rows;
    $stmt->close();

    if($count >= 0)
    {
        $_SESSION["logged_in"] = true;
        $_SESSION["user_id"] = $id_bruger;
        $_SESSION["Brugernavn"] = $Brugernavn;
        $_SESSION["djnavn"] = $djnavn;
        $_SESSION["rank"] = $rank;
        $_SESSION["betalt"] = $betalt;
        if($rank == 0 and $betalt == 0)
        {
            echo "hej";
        }
        else if($rank == 1 and $betalt == 1)
        {
            echo "hej 1";
        }
        else if($rank == 2 and $betalt == 2)
        {
            echo "hej 2";
        }
        else if($rank == 3 and $betalt == 3)
        {
            echo "hej 3";
        }
        else if($rank == 4 and $betalt == 4)
        {
            echo "hej 4";
        }
        else if($rank >= 5 || $betalt >= 5)
        {
            echo "hej 5";
        }       
    }
    else
    {
        echo "Fejl";
    }
}
?>


Har ikke prøve at gøre sådan her så ved ikke lige om jeg kan gøre sådan her men ellers ved jeg ikke lige hvordan jeg skal lave det overhovedet?

velkommen til at spørger mig hvis det er?

og har også prøve sådan her


switch ($betalt == true)
        {
        case 1:
          echo "Number 1";
          break;
        case 2:
              echo "Number 2";
              break;
        case 3:
              echo "Number 3";
              break;
        default:
              echo "No number between 1 and 3";
        }


har også prøve sådan her


if($betalt = true){
              if($rank == 0)
        {
            echo "hej";
        }
        else if($rank == 1)
        {
            echo "hej 1";
        }
        else if($rank == 2)
        {
            echo "hej 2";
        }
        else if($rank == 3)
        {
            echo "hej 3";
        }
        else if($rank == 4)
        {
            echo "hej 4";
        }
        else if($rank >= 5)
        {
            echo "hej 5";
        }   
        }


en af min god venner har skrevet sådan her::

Hvorfor vil du absolut have at betaling skal være et tal ?
Det er meget mere logisk og lave det TRUE eller FALSE.
Enten har brugeren betalt eller også har brugeren ikke betalt.



jeg har svar tilbage sådan her::
hvad skulle det ellers være ?
hvordan kan det være og hvorfor?,

altså jeg har valgt at bygge min side op sådan at når man har opret sig så få man en email der er link lige til side hvor man betaler, og når man har betale skal min database finde ud af man har betalt eller ej. det er mere derfor at jeg har valgt det men hvordan vil du da lave det hvis det var?
Avatar billede inteeeL Nybegynder
15. juli 2012 - 15:05 #1
Jeg er ikke sikker på, at jeg forstår, hvad dit problem er - og hvad der er, du vil. Feltet rank - hvad repræsenterer det? Afspejler dette felt den pakke, brugeren har valgt? Ekspempel: hvis den er lig med 1, har brugeren valgt pakke 1 - eller hvad? Hvad repræsenterer feltet betalt?

Kommentarer til dine kode i den første boks..
1. if($count >= 0) <- tjekker, om der ER 0 eller OVER antal rækker. Det kan jeg ikke forestille mig er formålet. Fjern lig-med tegnet.

2. Jeg går ud fra, at rank og betalt gemmes som en integer i databasen. Hvis ikke det er tilfældet, kan du gøre det i koden: $_SESSION["rank"] = (int)$rank;

3. Det er ikke nødvendigt med et mellemrum mellem else og if. Det virker på sammen måde, men det tager længere tid at afvikle.

4. I stedet får ved sidste klausul at udskrive "Fejl", ville det være smartere at beskrive, hvad der sker - både for din egen skyld (så du kan finde rundt i det) og for brugeren skyld. Der kunne i stedet stå "Forkert brugernavn/kodeord"

Du kan prøve at forklare felterne rank og betalt - herefter kan vi snakke om en mere struktureret løsning. :-)
Avatar billede tobrukDk Novice
15. juli 2012 - 23:43 #2
Omkring 1, har jeg kigge på og taget væk,

2 ja. rank og betale er et tal.. :)

3, jeg har også lavet det om. altså til elseif, ;) så det gå lidt mere hurtigt ;)

4, ja dette vil jeg også kigge på :) det noget som jeg vil kigge på :) og kan godt se hvad du mener helt med det og ligne :)


men det er sådan at brugeren for en email med sådan her www.blabla.dk/godkendt-bruger/1569/  og når man finder på link så gå den ind på siden så har jeg sæt pris og infomation ind og så skal den finde det nummer som den har fået via $_get og der efter når brugeren har betalt for bruger eller lign så bliver man sendt tilbage til siden hvis alt går godt, og osv.. :) hvis du kan følge i hvad jeg mener, og håber du forstår hvad jeg helt mener ellers spørger dug bare :) hvis der er noget?
Avatar billede tobrukDk Novice
20. juli 2012 - 19:34 #3
Den er klart nu! og vil du have point eller hvad?
Avatar billede inteeeL Nybegynder
21. juli 2012 - 23:19 #4
Svar :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester