Jump to content

cjburkey01

Members
  • Posts

    17
  • Joined

  • Last visited

Posts posted by cjburkey01

  1. I have just discovered my error.  It was extreme stupidity:

    $sql -> bindParam(":password", password_hash($email, PASSWORD_DEFAULT));
    

    should be

    $sql -> bindParam(":password", password_hash($password, PASSWORD_DEFAULT));
    

    in the register form.  *sigh*

     

     

     

    Note that the correct hash for that password+salt is

    $2y$10$YOVX2MCk8KSpUuii5fEQ5.fchxgv0ZkbWxTGnOcHwgqfvspDNsYlmso you do, in fact, have the wrong password.

     

     

    Yup :(

  2. when you try to print/echo/print_r a false value, you will get nothing.

     

    if you want to know what the password_verify() statement is returning, use var_dump() on just that part of the value (if you concatenate it with a string, you will get a string result, and var_dump will show the string result, which will show nothing again from the false value.)

    I'll try that, thanks :)

  3. So, basically, I have a simple database where users are stored.  password_hash is used to insert the passwords, but for some reason, this code:

     

    $sql = $conn -> prepare("SELECT `password` FROM `users` WHERE `email`=:email LIMIT 1");
    $sql -> bindParam(":email", $email);
    $sql -> execute();
    $out = $sql -> fetch();
    print_r(password_verify($password, trim($out['password'])) . " - " . $password . " - " . $out[0]);
    die();
    

    displays this:

     

    - spice - $2y$10$YOVX2MCk8KSpUuii5fEQ5.OUmRh09lEfF.wZ65jh4.PUB5wSgdHim
    

     

    Even if I was using the wrong password, shouldn't it at least return false?  Is this some part of a new feature in PHP 7?

  4. Um, when I use this file, it works for everything, but if the file is nested once in a directory, it does not put that directory in the file list.  So, you could have a file like this:

    config/cofh/core.cfg

    But it only shows as this:

    core.cfg

    But if it is further, it work:

    /config/cofh/core/file/thing.cfg

    would list like

    core/file/thing/core.cfg

    I use this code:

     

    <?php
    function drawArray(DirectoryIterator $directory, $file ){
    $path = '';
    foreach ( $directory as $object ){
    if ($object->isDir() && !$object->isDot()){
    $path .= $object->getFilename() .'/'; 
    $result[$object->getFilename()] = drawArray( new DirectoryIterator( $object->getPathname() ), $file );
    }else if($object->isFile() && $object != '.DS_Store'){
    $line = $path . $object->getFilename()."\n";
    file_put_contents($file,$line,FILE_APPEND);
    }
    }
    }
    drawArray( new DirectoryIterator( 'mods' ), 'mods.txt' );
    drawArray( new DirectoryIterator( 'config' ), 'config.txt' );
    ?>
    
  5. try this (it reads through the directories, and writes everything to the text files without having to create an array.)

     

     

    <?php
    function drawArray(DirectoryIterator $directory, $file ){
      $path = '';
      foreach ( $directory as $object ){
        if ($object->isDir() && !$object->isDot()){
          $path .= $object->getFilename() .'/'; 
          $result[$object->getFilename()] = drawArray( new DirectoryIterator( $object->getPathname() ), $file );
        }else if($object->isFile() && $object != '.DS_Store'){
          $line = $path . $object->getFilename()."\n";
          file_put_contents($file,$line,FILE_APPEND);
        }
      }
    }
    drawArray( new DirectoryIterator( 'mods' ), 'mods.txt' );
    drawArray( new DirectoryIterator( 'config' ), 'config.txt' );
    ?>

    (it appends each line to the files as it reads through the directory, so you should delete the previous files first (or empty them, I'm sure you can figure out how to add that) ... Just realized there's still a little bug in there, but you get the idea.

     

    Hope it helps :)

    So, I wouldn't need the delete function. Right?

  6. can I ask exactly why you're doing that? (you're obviously trying to map the directories) but is is a one-time thing you need to do, or is it a script that will run for every user or something like that? 

     

    (I'm asking because if it's a one-time thing you can simply type: find mods > mods.txt at the command prompt (I'm assuming it's a linux box) and it will map out all the files for you.)

    It's a one time thing, well, unless I update the file list.  I'm using a java program that reads the mods.txt, gets the url, and dwnloads each file(More proof-of-concept than functional :P)so, I wanted to run that php everytime I add a new file, (And I didn't want to list the files on my own) :P

  7. I know this is not the answer to your question, but it seems you have other issues to deal with first. You're reading through the directories, adding everything into an array, converting that array to a string, creating a file(s), writing the contents of that string to the file(s), then opening that file again, reading each line and removing things you didn't want and writing back the ones you do want... Do you see a problem here?

     

    Remember: Simpler is better.

    Yes, I now see that problem, so would be more efficient to create the file, convert, insert, delete, then close, instead of reopening and everything?

  8. Hello people!

    I have this bit of code:

     

    <?php
    function drawArray(DirectoryIterator $directory)
    {
        $result=array();
        foreach($directory as $object)
        {
            if($object->isDir()&&!$object->isDot())
            {
                $result[$object->getFilename()]=drawArray(new DirectoryIterator($object->getPathname()));
            }
            else if($object->isFile())
            {
                $result[]=$object->getFilename();
            }
        }
        return $result;
    }
    $array=drawArray(new DirectoryIterator('mods'));
    $info = implode("\n",$array);
    file_put_contents("mods.txt", $info);
     
    $array2 = drawArray(new DirectoryIterator('config'));
    $info2 = implode("\n",$array2);
    file_put_contents("config.txt", $info2);
     
    function remove($Filename, $key) {
    $fc=file($Filename);
    $f=fopen($Filename,"w");
    foreach($fc as $line)
    {
    if (!strstr($line,$key))
    fputs($f,$line);
    }
    fclose($f);
    }
     
    remove("mods.txt", "Array");
    remove("mods.txt", ".DS_Store");
    remove("config.txt", "Array");
    remove("config.txt", ".DS_Store");
    ?>
    

    It works, but I have directories in the folder it's searching, how would I make it print the directories to the file in this formate:

    directory/fileInIt.cfg
    ?
  9. $eng = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k' ,'l' ,'m', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z');
    $udc = array('u', 'd', 'c', 'b', 'o', 'h', 'g', 'f', 'i', 'n', 'm', 'l', 'k', 'j', 'e', 't', 's', 'r', 'q', 'p', 'a', 'z', 'y', 'x', 'w', 'v');
    
    $convertedLanguage = strtr($_POST['box'], array_combine($eng, $udc));

    Should work?

     

    IT WORKS!!! THANK YOU ALL FOR THE HELP  :happy-04:  :happy-04:  :happy-04:  :happy-04:  :happy-04:  :happy-04:  :happy-04:  :happy-04:

  10. $eng = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k' ,'l' ,'m', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z');
    $udc = array('u', 'd', 'c', 'b', 'o', 'h', 'g', 'f', 'i', 'n', 'm', 'l', 'k', 'j', 'e', 't', 's', 'r', 'q', 'p', 'a', 'z', 'y', 'x', 'w', 'v');
    
    $convertedLanguage = strtr($_POST['box'], array_combine($eng, $udc));

    Should work?

  11. So I could do

     

    $eng = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k' ,'l' ,'m', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z');

    $udc = array('u', 'd', 'c', 'b', 'o', 'h', 'g', 'f', 'i', 'n', 'm', 'l', 'k', 'j', 'e', 't', 's', 'r', 'q', 'p', 'a', 'z', 'y', 'x', 'w', 'v');

     

    $convertedLanguage = preg_replace($eng, $udc, $_POST['box']);

     

    Or do I have to put the slashes in from and behind each part in the array?

  12. So I made this code:

    <?php

     

    if(isset($_POST['box'], $_POST['choose'])) {

     

    if($_POST['choose'] == "to") {

     

    $eng = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k' ,'l' ,'m', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z');

    $udc = array('u', 'd', 'c', 'b', 'o', 'h', 'g', 'f', 'i', 'n', 'm', 'l', 'k', 'j', 'e', 't', 's', 'r', 'q', 'p', 'a', 'z', 'y', 'x', 'w', 'v');

     

    $convertedLanguage = str_replace($eng, $udc, $_POST['box']);

     

    } else if($_POST['choose'] == "from") {

     

    //Convert text from UDC

     

    }

     

    }

     

    ?>

     

    <html>

    <head>

    <title>UDC Converting To/From</title>

    </head>

     

    <body>

    <center>

    <h1>UDC To/From</h1>

    <form action="" method="post">

    <?php echo $convertedLanguage; ?>

    <textarea name="box" rows="10" cols="50"></textarea><br />

    <label>To UDC</label>

    <input type="radio" name="choose" value="to" checked="checked" /><br />

    <label>From UDC</label>

    <input type="radio" name="choose" value="from" /><br />

    <input type="submit" value="Change" />

    </form>

    </center>

    </body>

    </html>

    And it works for most letters, but some don't like the 'e', turns to 'o', then back to an 'e'

    If I put in 'Test'

    I get 'peqp'. Like it should be, but the 'e' should be an 'o'

     

    To me, it seems as if it running through the e twice. I don't know why? is there a better method?

×
×
  • 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.