Jump to content

Recommended Posts

from this page.

addcard1.php

<?php
session_start();
ob_start();


if(isset($_POST['click'])){	
   echo "button clicked";


    $_SESSION["serial1"]= $_POST["serial1"];
 	$_SESSION["code_type"]= $_POST["code_type"];
 	$_SESSION["spoint"]= $_POST["spoint"];
 	$_SESSION["screate_date"] = $_POST["screate_date"];
 	$_SESSION["sexpiry_date"]= $_POST["sexpiry_date"];
   header ('Refresh:2;url=testcard1.php');
   exit();


}
?>


<html>
<body>
<form action="add1card.php" method="POST">
  <table border="1">
    <tr> 
      <td width="181">Serial Number</td>
      <td width="168"> 
        <input type="text" name="serial1" />
      </td>
    </tr>
    <tr> 
      <td width="181">Activate Code Type</td>
      <td width="168"> 
        <select name="code_type">
          <option value="Character(Big Letter)">Character(Big Letter)</option>
          <option value="Character(Small Letter)">Character(Small Letter)</option>
          <option value="Number">Number</option>
          <option value="Mix">Mix</option>
        </select>
      </td>
    </tr>
    <tr> 
      <td width="181">Point</td>
      <td width="168"> 
        <input type="text" name="spoint">
      </td>
    </tr>
    <tr> 
      <td width="181">Created Date</td>
      <td width="168"> 
        <input type="text" name="screate_date">
      </td>
    </tr>
    <tr> 
      <td width="181">Expirly Date</td>
      <td width="168"> 
        <input type="text" name="sexpiry_date">
      </td>
    </tr>
    <tr> 
      <td width="181"> 
        <input type="reset" name="reset" />
      </td>
      <td width="168"> 
        <input type="submit" name='click'/>
      </td>
    </tr>
  </table>
<!--</td>
</tr>
</table>-->
</form>
</body>
</html>

 

 

redirect to this page.

 

testcard1.php

<?php
session_start();
include 'config.php';
include 'opendb.php';
include 'function.php';
ob_start();





	$serial= $_SESSION["serial1"];
 	$code_type= $_SESSION["code_type"];
 	$point= $_SESSION["spoint"];
 	$cdate = $_SESSION["screate_date"];
 	$edate= $_SESSION["sexpiry_date"];
 	$l=13;
 	$randompass=generatePassword($l,$code_type);




	//searching the last serialnum in the db		
	$result = mysql_query("SELECT * FROM gamecard ORDER BY Serialnum") or die('Query failed: ' . mysql_error());

	 while($row = mysql_fetch_array($result,MYSQL_ASSOC)){
	 	$serialnum=$row["Serialnum"];

	  };
	  
	 echo "</br>serialnum (after loop)=".$serialnum;



	//if database contain no record at all

	if(mysql_num_rows($result)==0){//if serialnum=null
		echo "norecordindb";
		$serialnum=$serialnum+1001;

	}
    else{
    	$serialnum++;
    	
    }


	echo "</br>serialnum=".$serialnum;
	echo "</br>serial=".$serial;
	echo "</br>codetype=".$code_type;
	echo "</br>point=".$point;
	echo "</br>random pass=".$randompass;
	echo "</br>createdate=".$cdate;
	echo "</br>expired date=".$edate;

//$sql="INSERT INTO gamecard (Serial,Serialnum,Activatecode,Expireddate,Createdate,Point,Golden)
//VALUES
//('$serialnum','$serial','$randompass','$expirydate','$createdate','$point','Invalid')";

	if(isset($_POST['click'])){
		echo "</br>button clicked";

          $sql="INSERT INTO gamecard (Serialnum,Serial,Activatecode,Expireddate,Createdate,Point,Golden)
             	VALUES ('$serialnum','$serial','$randompass','$edate','$cdate','$point','invalid')";
             	mysql_query($sql, $con);
                header ('Refresh:2;url=displayaddsingle.php');
                
        }//end if



?>


<html> 
<form action="testcard1.php" method="POST" >
<input type="submit" name="click" value='click'>
</form>
</html>

 

error msg when loading test1card.php

Fatal error: Maximum execution time of 60 seconds exceeded in H:\xampplite\htdocs\mlm\menu\function.php (which include by this test1.card.php)on line 32

<?php

function generatePassword ($length,$type)
{
   $password = "";

  
  if ($type=='Character(Big Letter)'){//3
  	$possible="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  }
  else{//3
  	if($type=='Character(Small Letter)'){//2
  		$possible="abcdefghijklmnopqrstuvwxyz";
  	}//2
  	else{//2
  		if ($type=='Number'){//1
  			$possible="0123456789";
  		}//1
  		else{//1
  			$possible = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; 
  		}//1
  	}//2
  }//3
    
  // set up a counter
  $i = 0; 
    
  // add random characters to $password until $length is reached
  while ($i < $length) { 

    // pick a random character from the possible ones
    $char = substr($possible, mt_rand(0, strlen($possible)-1), 1);
        
    // we don't want this character if it's already in the password
    if (!strstr($password, $char)) { 
      $password .= $char;
      $i++;
    }

  }//end of while

  // done!
  return $password;
}

?>

it will hang if you choose activation code as number because of this

 

 if (!strstr($password, $char)) { 
      $password .= $char;
      $i++;
    }

 

you have only 10 numbers and they cannot repeat so how will you generate a 13 digit activation code ?

Yes but the following code will go in an infinite loop

 

if (!strstr($password, $char)) { 
      $password .= $char;
      $i++;
    }

 

because all 0-9 numbers will be used and then it will keep on looping

cardstore.php ..<---here also hang...

<?php
session_start();
?>

</html>
<head>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<div id="bodyarea" style="padding: 1ex 0px 2ex 0px;">
</div>
<!--</html>-->


<?php


include '../../config.php';
include '../../opendb.php';


$cardnum=$_SESSION["cardnum"];
$initial=$_SESSION["initial"];
$active_len=$_SESSION["active_len"];
$active_type=$_SESSION["active_type"];
$point=$_SESSION["point"];
$createdate=$_SESSION["create_date"];
$expirydate=$_SESSION["expiry_date"];
//echo "Card Card Card Card Card".$_SESSION["initial"];

function generatePassword ($length,$type)
{
   $password = "";

  
  if ($type=='Character(Big Letter)'){//3
  	$possible="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  }
  else{//3
  	if($type=='Character(Small Letter)'){//2
  		$possible="abcdefghijklmnopqrstuvwxyz";
  	}//2
  	else{//2
  		if ($type=='Number'){//1
  			$possible="0123456789";
  		}//1
  		else{//1
  			$possible = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; 
  		}//1
  	}//2
  }//3
    
  // set up a counter
  $i = 0; 
    
  // add random characters to $password until $length is reached
  while ($i < $length) { 

    // pick a random character from the possible ones
    $char = substr($possible, mt_rand(0, strlen($possible)-1), 1);
        
    // we don't want this character if it's already in the password
    if (!strstr($password, $char)) { 
      $password .= $char;
      $i++;
    }

  }//end of while

  // done!
  return $password;
}



$result = mysql_query("SELECT * FROM gamecard") or die('Query failed: ' . mysql_error());

while($row = mysql_fetch_array($result,MYSQL_ASSOC)){
	$serial=$row["Serial"];
//	echo "serial=".$serial;
};
$serial++; //serial num for the newly added card
echo "new serial".$serial;
if($serial==1)
$serial=$serial+1000;


//$cardnum=$_POST['cardnum'];
$count=0;

echo"<center><table border=1><tr><td>Serial Number</td><td>Activate Code</td><td>Point</td><td>Created Date</td><td>Expiry Date</td></tr>";

while ($count<$cardnum) {//generate activate_code for each new card added

$randompass=generatePassword($active_len,$active_type);
$_SESSION["generatepass"]=$randompass;

echo "serial".$serial;

$actualserial=$serial-1000;
echo"actual serial".$actualserial;
$serialstr=strval($actualserial);
echo "serial str".$serialstr;
$seriallength=strlen($serialstr);
echo "serial length".$seriallength;

if ($seriallength<=3){
if($seriallength==1)
	$serialpart="000".$actualserial;
else{
	if($seriallength==2)
		$serialpart="00".$actualserial;
	else{
		$serialpart="0".$actualserial;
	//	echo "add 0".$seriallength;
	}
}
}
else{
$serialpart=$actualserial;
//echo "=>4";
}

$serialnum=$initial.$serialpart;
$_SESSION["activatenum"]=$serialnum;


$card_arr[$count][0]=$serialnum;
$card_arr[$count][1]=$serial;
$card_arr[$count][2]=$initial;
$card_arr[$count][3]=$randompass;
$card_arr[$count][4]=$expirydate;
$card_arr[$count][5]=$createdate;
$card_arr[$count][6]=$point;


echo"<tr><td>$serialnum</td><td>$randompass</td><td>$point</td><td>$createdate</td><td>$expirydate</td></tr>";



$count++;
$serial++;


}//end of while $count<$cardnum

$_SESSION["card_arr"]=$card_arr;



?>

<center><table><tr><td>
<form name="form1" method="post" action="insertcard.php">
<input type="hidden" name="posted" value="true">
<input type="submit" name="Submit" value="Confirm">
</form>
</td>
</tr>
</table>
</center>
</html>

 

also cause by the function too?  :o

 

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.