user3556550
user3556550

Reputation: 11

Inserting data to db in PHP

I'm trying to insert somethig to db and after i write this code i get just a blank page in php. Cam you help me ? if i delete all // i get blank page if it is as now i get imput containers

    <?php
function create()
{
    if(isset($_POST["submit"]))
    {       
        $db = new mysqli('localhost', 'root', 'root', 'idoctor_db');

        $username = $db->real_escape_string($_POST['username']);
        $password = $db->real_escape_string($_POST['password']);
        $password_conf = $db->real_escape_string($_POST['password_conf']);
        $nick = $db->real_escape_string($_POST['nick']);

        //create_new_user($username, $password, $password_conf, $nick);
        //$db->query
        //('
            //INSERT INTO  `idoctor_db`.`users` (`ID` ,`Login` ,`Password` ,`Name` ,`Level`)
            //VALUES ('5 ' , 'kev5', 'roo5', 'kevkev5', ' 3 ' );
        //');


    }
}

?>

<!DOCTYPE html>
<html>
<head>
    <title>Login</title>
    <link rel="stylesheet" href="css/login.css" />
</head>
<body>
    <div class="container">

        <form action="<?php create(); ?>" method="POST">
            <input type="text" name="username" placeholder="Username..." />
            <input type="password" name="password" placeholder="Password" />
            <input type="password" name="password_conf" placeholder="Confirm password" />
            <input type="text" name="nick" placeholder="Nick" />
            <input type="submit" value="Create" name="submit"/>
        </form>
    </div>
</body>
</html>

Upvotes: 0

Views: 60

Answers (2)

Arian Faurtosh
Arian Faurtosh

Reputation: 18531

After your edit... I see another problem in your code:

<form action="<?php create(); ?>" method="POST">
         <!--     ^ This is not how you submit form data to php... 
             action is supposed to be a URL.. however if left blank 
             it will take you to the same page

Try this instead:

<?php
    if(isset($_POST["submit"]))
    {       
        $db = new mysqli('localhost', 'root', 'root', 'idoctor_db');

        $username = $db->real_escape_string($_POST['username']);
        $password = $db->real_escape_string($_POST['password']);
        $password_conf = $db->real_escape_string($_POST['password_conf']);
        $nick = $db->real_escape_string($_POST['nick']);

        //create_new_user($username, $password, $password_conf, $nick);
        //$db->query
        //('
        //INSERT INTO  `idoctor_db`.`users` (`ID` ,`Login` ,`Password` ,`Name` ,`Level`)
        //VALUES ('5 ' , 'kev5', 'roo5', 'kevkev5', ' 3 ' );
        //');
    }

?>

<!DOCTYPE html>
<html>
<head>
    <title>Login</title>
    <link rel="stylesheet" href="css/login.css" />
</head>
<body>
    <div class="container">

        <form method="POST">
            <input type="text" name="username" placeholder="Username..." />
            <input type="password" name="password" placeholder="Password" />
            <input type="password" name="password_conf" placeholder="Confirm password" />
            <input type="text" name="nick" placeholder="Nick" />
            <input type="submit" value="Create" name="submit"/>
        </form>
    </div>
</body>
</html>

Upvotes: 0

Arian Faurtosh
Arian Faurtosh

Reputation: 18531

If there are no errors in running this query, you will see a blank page.

All the work is happening in the background, look at your mysql table to confirm if the insert worked.

If you want to check the outcome of the query... just do the following

$outcome = $db->query
('

    INSERT INTO  `idoctor_db`.`users` (
    `ID` ,
    `Login` ,
    `Password` ,
    `Name` ,
    `Level`
    )
    VALUES 
    (' 4 ', ' kev4 ', ' root ', ' kevkev4 ', ' 3 ');
');

if($outcome) {
    echo 'success';
} else {
    echo 'failed';
}

Upvotes: 1

Related Questions