Avatar billede techboy992 Praktikant
17. april 2013 - 21:39 Der er 5 kommentarer og
1 løsning

License check goer ikke som det skal

er ved at proeve at lave en license server, hvor man kan secure sine scripts, Jeg kan ikke faa den til at checke domain ordentligt.

problemet sker ved oprettelse af et nyt domain der skal den checke om domainet exsisterer og om man er tilladt at oprette et domain ekstra til licenscoden.

Den goer det maaske rigtigt men den opretter i saa fald ikke domain i databasen.

Licence check:
$code23 = $_POST["code23"];
$domain23 = $_POST["domain"];

$con=mysqli_connect("localhost","techhost_apt","PW_skjult,"techhost_apt");

if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

//check license code
$result= mysqli_query($con, "SELECT * FROM apt where licensecode='".$code23."'");
while ($row=mysqli_fetch_array($result))
$licensecode=$row["licensecode"];

// Check status
$result= mysqli_query($con, "SELECT * FROM apt where licensecode='".$code23."'");
while ($row=mysqli_fetch_array($result))
$status=$row["status23"];

// Check domain
$result= mysqli_query($con, "SELECT * FROM apt where licensecode='".$code23."' AND domain23='".$domain23."'");
while ($row=mysqli_fetch_array($result))
$domain =$row["domain23"];



//If domain is emty = not exist
if ($domain==''){
   
// Check allowed domains
$result= mysqli_query($con,"SELECT * FROM apt where licensecode='".$code23."'");
while ($row=mysqli_fetch_array($result))
$allowed=$row["doallowed"];

//get license name
$result= mysqli_query($con,"SELECT * FROM apt where licensecode='".$code23."'");
while ($row=mysqli_fetch_array($result))
$name23 = $row["lienced_to"];
   
//Count how many times license is used   
$result= mysqli_query($con,"select count(1) FROM apt Where licensecode='".$code23."'");
while ($row = mysqli_fetch_array($result))
$total = $row[0];
//check if there is allowed more domains
$dototal = $total +1;
//compare total domains and if ok to add new domain as ok
if ($dototal >=$allowed ){
// if new domain exist allowed domain insert domain in database with status = false
// and allow it first time

mysqli_query($con,"INSERT INTO apt (doallowed, lienced_to, domain23, licensecode, status, reason)
VALUES ('".$allowed."','".$name23."','".$domain."','".$code23."','false','8002')");
        echo "false";
        exit();
    }
else {
// if new domain is allowed insert new domain in database with status = ok and send status ok

mysqli_query($con,"INSERT INTO apt (doallowed, lienced_to, domain23, licensecode, status, reason)
VALUES ('".$allowed."','".$name23."','".$domain."','".$code23."','ok','200')");
    echo "ok";
}
}

elseif ($code23==$licensecode AND $domain23==$domain AND $status=='ok'){
    echo "ok";
}

else {
    echo "false";
}
echo $domain;
echo $code23;
?>
$domain er tom naar jeg checker, som den skal vaere efter check i databasen, men syntes ikke den vil saette det nye domain ind

Kommer bare med status code ok og licens koden.

Test licenscode: XEUia5nmscMijQSxFRzZ5vYPs3asDGjXoz4p6DAz
domain what ever

[url= http://apt.techhost24.com[/url]
Avatar billede techboy992 Praktikant
17. april 2013 - 21:40 #1
url = apt.techhost24.com/
Avatar billede techboy992 Praktikant
17. april 2013 - 22:46 #2
Har aendret $domain til $domain23 i insertcoden men den saetter stadig ikke ind
Avatar billede techboy992 Praktikant
17. april 2013 - 22:57 #3
slog lige fejl report til og faar disse fejl
Notice: Undefined variable: mysqli in /home/techhost/public_html/apt/licensecheck.php on line 1

Notice: Trying to get property of non-object in /home/techhost/public_html/apt/licensecheck.php on line 1

Notice: Undefined variable: domain in /home/techhost/public_html/apt/licensecheck.php on line 1
okopopopoko.comXEUia5nmscMijQSxFRzZ5vYPs3asDGjXoz4p6DAz
Avatar billede techboy992 Praktikant
17. april 2013 - 23:27 #4
saa kom error ned til:
Notice: Undefined variable: domain in /home/techhost/public_html/apt/licensecheck.php on line 1

Maa vaere denne linie der noget galt i:
$result= mysqli_query($con, "SELECT * FROM apt where licensecode='".$code23."' AND domain23='".$domain23."'");
while ($row=mysqli_fetch_array($result))
$domain =$row["domain23"];

Den kommer med tom da hvis domain ikke existerer saa skal det jo oprettes

som er under
if (!$domain){
coden som er laengere oppe
}
Avatar billede techboy992 Praktikant
17. april 2013 - 23:45 #5
endte med at finde fejlen det var insert koden status skulle vaere status23 i stedet

mysqli_query($con,"INSERT INTO apt (doallowed, lienced_to, domain23, licensecode, status23, reason)
VALUES ('".$allowed."','".$name23."','".$domain."','".$code23."','false','8002')");
        echo "false";
        exit();
    }
else {
// if new domain is allowed insert new domain in database with status = ok and send status ok

mysqli_query($con,"INSERT INTO apt (doallowed, lienced_to, domain23, licensecode, status23, reason)
VALUES ('".$allowed."','".$name23."','".$domain."','".$code23."','ok','200')");
    echo "ok";
}
}

Kommer stadig med den sidste fejl, men naar error reporting er slaaet fra ser man den ikke, saa gaar ud fra at det vil virke med curl ogsaa
Avatar billede techboy992 Praktikant
17. april 2013 - 23:54 #6
lukker traaden
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