Jump to content

Bird

Members
  • Posts

    4
  • Joined

  • Last visited

Posts posted by Bird

  1. 1 hour ago, justsomeguy said:

    Why are you using a for loop at all?  It's an array with a single value in it, you don't need to loop.  And if there's nothing in $_SESSION, then it won't loop to set the value at all.

    You're absolutely right. I'm very new at this and thought I had to use a loop for an array. Realized I was already returning the row when I set the $_SESSION['user'].

     

    // Check connection
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    } else{
    	echo 'Connected! ';
    $sql = "SELECT * FROM KJE WHERE username = '$user' AND password = '$pass' ";
    $result = mysqli_query($conn,$sql);
    $check = mysqli_fetch_array($result);
    $_SESSION['currency'] = $check['currency'];
    $_SESSION['level'] = $check['level'];

    ^much better

  2. Both of these are using the same DB connection($conn) and both currency and level are in the table, yet when I run my page, it shows currency, but level comes up blank.

     

    // Check connection
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    } else{
    	echo 'Connected! ';
    $sql = "SELECT * FROM KJE WHERE username = '$user' AND password = '$pass' ";
    $result = mysqli_query($conn,$sql);
    $check = mysqli_fetch_array($result);
    
    if(isset($check)){
    	$_SESSION['username'] = $user;
    	//BELOW WAS WORKING. WHILE TROUBLESHOOTING I CHANGED IT. WHEN I CTRL+Z BACK TO IT'S ORIGINAL IT STOPPED WORKING. I GUESS I'M DOING SOMETHING FUNDAMENTALLY WRONG AND GOT LUCKY?
    	//------currency------
    	$sql2 = ("SELECT currency FROM KJE WHERE username = '{$_SESSION['username']}' ");
    	$result2 = mysqli_query($conn,$sql2);
    	$currency = mysqli_fetch_array($result2);
    	for($a = 0 ; $a < count($_SESSION['currency']) ; $a++){
    		$_SESSION['currency'] = $currency[$a];
    	}
    	//BELOW DOES NOT WORK
    	//------level------
    	$sql3 = ("SELECT `level` FROM KJE WHERE username = '{$_SESSION['username']}' ");
    	$result2 = mysqli_query($conn,$sql3);
    	$level = mysqli_fetch_array($result2);
    	for($b = 0 ; $b < count($_SESSION['level']) ; $b++){
    		$_SESSION['level'] = $level[$b];
    	}
    }

     

  3. Hello!

    I know there are a lot of posts on the internet about this but I can't find one that solves my problem.

    I'm following the PHP Login Page tutorial on w3schools.com and am having some trouble.

    https://www.w3schools.com/howto/howto_css_login_form.asp

     

    It is not passing the 'uname' and 'psw' to action_page.php. Not sure why... Everything looks referenced correctly

     

    I have 2 scripts here:

    1) index.html(This seems to be working as-far as sending the credentials to action_page.php, I see the URL at the top is to action_page.php and includes the input username and password)

    <body>
    <form action="/action_page.php">
      <div class="imgcontainer">
        <img src="kje_logo.png" alt="Avatar" class="avatar">
      </div>
    
      <div class="container">
        <label for="uname"><b>Username</b></label>
        <input type="text" placeholder="Enter Username" name="uname" required>
    
        <label for="psw"><b>Password</b></label>
        <input type="password" placeholder="Enter Password" name="psw" required>
    
        <button type="submit">Login</button>
      </div>
    </form>
    </body>

    2*) action_page

    <?php
    $dbservername = "localhost";
    $dbusername = "****";
    $dbpassword = "****";
    $dbname = "****";
    $username = $_POST['uname'];
    $password = $_POST['psw'];
    
    // Create connection
    $conn = new mysqli($dbservername, $dbusername, $dbpassword, $dbname);
    
    // Check connection
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    } else{
    	echo 'Connected! ';
    $sql = "SELECT * FROM KJE WHERE username = '$username' AND password = '$password' ";//when i change $username and $password to the correct credentials, it says "Login Success"
    $result = mysqli_query($conn,$sql);
    $check = mysqli_fetch_array($result);
    if(isset($check)){
    echo 'Login Success.';
    }else{
    echo 'Login Failure!';
    }
    }
    ?>

     

     

×
×
  • Create New...