Avatar billede hyggelig75 Juniormester
23. maj 2019 - 18:07 Der er 17 kommentarer

sql kontagt

her et problem jeg kan ikke få min html til at register mit navn i sql kun min email og kan ikke finde fejlen håber en kan jeg hjælpe mig

https://pastebin.com/txcmEgta  html fil

min sql:

===Database dhl

== Struktur-dump for tabellen users

|------
|Kolonne|Datatype|Nulværdi|Standardværdi
|------
|//**id**//|int(11)|Nej|
|**email**|varchar(50)|Nej|
|password|varchar(255)|Nej|
|**fnavn**|varchar(50)|Nej|
|enavn|text|Nej|
|hunden|text|Nej|
|chipnummer|text|Nej|
|DHLnummer|text|Nej|
|avl|text|Nej|
|created_at|datetime|Ja|CURRENT_TIMESTAMP
== Data dump for tabellen users

|2|hyggelig1975@gmail.com|$2y$10$a9KcRku6QLszz3XI9V/NTuXrOj5UT8buP1bV4mTVxnm2iad4yoRMO|michael|nielsen|0| | | |2019-05-23 13:51:24
Avatar billede Slater Ekspert
23. maj 2019 - 18:51 #1
Hvad mener du med at registrere navnet i sql?
Avatar billede hyggelig75 Juniormester
23. maj 2019 - 19:07 #2
det jeg mener at jeg kan godt register email og kode.. men ikke fornavn ,efternavn og DHLnummer
Avatar billede olsensweb.dk Ekspert
23. maj 2019 - 19:59 #3
hvor tildeler du $fnavn, $enavn, $DHLnummer nye værdier ??

du sætter dem til "" i
// Define variables and initialize with empty values
$email = $fnavn = $enavn = $password = $confirm_password =$Chipnummer = $hunden = $DHLnummer = $avl = "";

ellers må du komme med en fejl code
Avatar billede hyggelig75 Juniormester
23. maj 2019 - 20:16 #4
er lidt svært at komme med en fejl kode da der ikke kommer en men den register kun email og kode
Avatar billede olsensweb.dk Ekspert
23. maj 2019 - 20:32 #5
jeg syntes jeg mangler noget ala
$fnavn = trim($_POST["fnavn"]);
$enavn = trim($_POST["enavn"]);
Avatar billede hyggelig75 Juniormester
23. maj 2019 - 20:37 #6
var osse det jeg tængt men kan ikke finde ud af hvor jeg skulle sætte det ind henne og hvordan jeg skal skrive det
Avatar billede hyggelig75 Juniormester
23. maj 2019 - 20:51 #7
får denne fejl
Warning: mysqli_stmt_close() expects parameter 1 to be mysqli_stmt, bool given in C:\xampp\htdocs\register.php on line 95
Avatar billede olsensweb.dk Ekspert
24. maj 2019 - 15:39 #8
#6
// Validate password
if(empty(trim($_POST["password"]))){
    $password_err = "Please enter a password.";   
} elseif(strlen(trim($_POST["password"])) < 6){
    $password_err = "Password must have atleast 6 characters.";
} else{
    $password = trim($_POST["password"]);
}

// Validate confirm password
if(empty(trim($_POST["confirm_password"]))){
    $confirm_password_err = "Please confirm password.";   
} else{
    $confirm_password = trim($_POST["confirm_password"]);
    if(empty($password_err) && ($password != $confirm_password)){
        $confirm_password_err = "Password did not match.";
    }
}


// jeg tænker noget ala (utested)
$fnavn = trim($_POST["fnavn"]);
$enavn = trim($_POST["enavn"]);
$enavn = trim($_POST["enavn"]);
$DHLnummer = trim($_POST["DHLnummer"]);


// Check input errors before inserting in database
if(empty($email_err) && empty($password_err) && empty($confirm_password_err)){
   




du skal overveje noget validering:
kan et for/efternavn være blankt ??
kan et for/efternavn indeholde andet end bogstaver ?? (#¤%)

kan et DHLnummer være blankt ??
kan et DHLnummer indeholde tegn / bogstaver ??
skal et DHLnummer ligge inde for et bestemt interval ??
skal et DHLnummer have et bestemt format ??
alt dette validering SKAL laves serverside (php), og gerne client side (html5, js/jquery...)



#7
det er pga
if($stmt = mysqli_prepare($link, $sql)){
fejler
Avatar billede olsensweb.dk Ekspert
24. maj 2019 - 15:41 #9
den ene af
$enavn = trim($_POST["enavn"]);
kan du godt slette :), formeget copy/paste
Avatar billede hyggelig75 Juniormester
24. maj 2019 - 16:30 #10
YES det virkede.
Men når jeg prøver at bruge dette til at indfør and info virker det ikke ???

<meta charset="UTF-8">
<?php
// Include config file
require_once "config.php";

// Check if the user is logged in, if not then redirect him to login page
if(!isset($_SESSION["loggedin"]) || $_SESSION["loggedin"] !== true){
    header("location: login.php");
    exit;



// insert(users)
$Chipnummer = trim($_POST["Chipnummer"]);
$hunden = trim($_POST["hunden"]);
$DHLnummer = trim($_POST["DHLnummer"]);
$Avl = trim($_POST["Avls godkendt"]);

// Close connection
  mysqli_close($link);
}
?>
Avatar billede hyggelig75 Juniormester
24. maj 2019 - 17:14 #11
og her er min html:

<form action="/action_page.php">
  <div class="container">
    <center><h1>Register Din Hund</h1></center>
    <p></p>
    <hr>

    <center><label for="Chipnummer"><b>Chipnummer</b></label></center>
    <center><input type="text" placeholder="Enter Chipnummer" name="Chipnummer" required></center>

    <center><label for="hunden"><b>Hundens navn</b></label></center>
    <center><input type="text" placeholder="Enter hunden" name="hunden" required></center>

    <center><label for="DHLnummer"><b>DHL Nummer</b></label></center>
    <center><input type="text" placeholder="Enter DHLnummer" name="DHLnummer" required></center>
   
   
    <center><label for="avl"><b>Avls godkendt</b></label></center>
    <center><input type="text" placeholder="Enter avl" name="avl" required></center>
    <hr>
    <center><p>Tak fordi du registerde din hund</p></center>

    <center><button type="submit" class="btn btn-primary">Register</button></center>
  </div>
 

</form>
Avatar billede olsensweb.dk Ekspert
25. maj 2019 - 16:47 #12
virker din header("location: login.php"); ??
det burde den ikke gører, da du sender HTML til skærmen før du forsøger at udfører din header("location: ");
ref https://www.php.net/manual/en/function.header.php
Remember that header() must be called before any actual output is sent, either by normal HTML tags, blank lines in a file, or from PHP. It is a very common error to read code with include, or require, functions, or another file access function, and have spaces or empty lines that are output before header() is called. The same problem exists when using a single PHP/HTML file.


er du sikker på du får data over i $_POST ?? (svaret er nej)
du har ikke angivet nogle method i din html form, så de sendes over med GET (default)
så du mangler at sætte en method i <form action="action_page.php">

dette
$Avl = trim($_POST["Avls godkendt"]);
skulle vel hedde
$Avl = trim($_POST["avl"]);
hvis vi ser på
<input type="text" placeholder="Enter avl" name="avl" required>

btw: det er også en dum ide at have mellemrum eller special tegn i name, det giver kun udfordringer



<center>
https://www.w3schools.com/tags/tag_center.asp



action_page.php
<?php
// Include config file
require_once "config.php";

// Check if the user is logged in, if not then redirect him to login page
if (!isset($_SESSION["loggedin"]) || $_SESSION["loggedin"] !== true) {
    header("location: login.php");
    exit;
} // flytted fra bunden

// insert(users)
    $Chipnummer = trim($_POST["Chipnummer"]);
    $hunden = trim($_POST["hunden"]);
    $DHLnummer = trim($_POST["DHLnummer"]);
    $Avl = trim($_POST["avl"]);
   
    // her mangler noget sql insert
   

// Close connection
    mysqli_close($link);
?>


hvis du ikke har helt styr på Prepare Statement under mysqli så kig på denne quick guide
https://www.computerworld.dk/uploads/eksperten-guider/1480-Prepared-Statements-under-MySQLI-kom-igang.pdf
godt nok af ældre dato
Avatar billede hyggelig75 Juniormester
27. maj 2019 - 19:06 #13
nogle ide hvorfor dette ikke virker

<meta charset="UTF-8">

<?php
$connection = mysqli_connect("localhost", "root", ""); // Establishing Connection with Server
$db_selected = mysqli_select_db($connection, "dogs"); // Selecting Database from Server
if(isset($_POST['submit'])){ // Fetching variables of the form which travels in URL
$Chipnummer = $_POST['Chipnummer'];
$DHLnummer = $_POST['DHLnummer'];
$navn = $_POST['navn'];
$Race = $_POST['Race'];
if($Chipnummer !=''||$DHLnummer!=''){
//Insert Query of SQL
$sql = "insert into hunde(hunde_Chipnummer, hunde_DHLnummer, hunde_navn, hunde_Race) values ('$Chipnummer', '$DHLnummer', '$navn', '$Race')";
echo "<br/><br/><span>Data Inserted successfully...!!</span>";
}
else{
echo "<p>Insertion Failed <br/> Some Fields are Blank....!!</p>";
}
}
mysqli_close($connection); // Closing Connection with Server
?>

<!DOCTYPE html>
<html>
<head>
<title>PHP insertion</title>
<link href="css/insert.css" rel="stylesheet">
</head>
<body>
<div class="maindiv">
<!--HTML Form -->
<div class="form_div">
<div class="title">
<h2>Insert Data In Database Using PHP.</h2>
</div>
<form action="insert.php" method="post">
<!-- Method can be set as POST for hiding values in URL-->
<h2>Form</h2>
<label>Chipnummer:</label>
<input class="input" name="Chipnummer" type="text" value="">
<label>DHLnummer:</label>
<input class="input" name="DHLnummer" type="text" value="">
<label>navn:</label>
<input class="input" name="navn" type="text" value="">
<label>Race:</label>
<input class="input" name="Race" type="text" value=""><br>
<input class="submit" name="submit" type="submit" value="Insert">
</form>
</div>
</div>
</body>
</html>
Avatar billede olsensweb.dk Ekspert
27. maj 2019 - 19:46 #14
skulle du ikke udfører din sql ??
https://www.php.net/manual/en/mysqli.query.php
du skal bruge
mysqli_query ()

din øverste <meta charset="UTF-8"> skal slettes


(utested)
<?php
if (isset($_POST['submit'])) { // Fetching variables of the form which travels in URL
   
    $connection = mysqli_connect("localhost", "root", "", "dogs");
    if (!$connection) {
        echo 'Der opstod en fejl.';
        exit();
    }
    mysqli_set_charset($connection, "utf8");


    $Chipnummer = $_POST['Chipnummer'];
    $DHLnummer = $_POST['DHLnummer'];
    $navn = $_POST['navn'];
    $Race = $_POST['Race'];
    if ($Chipnummer != '' || $DHLnummer != '') {
    //Insert Query of SQL
        $sql = "insert into hunde(hunde_Chipnummer, hunde_DHLnummer, hunde_navn, hunde_Race) values ('$Chipnummer', '$DHLnummer', '$navn', '$Race')";       
        mysqli_query ($connection, $sql);
        echo "<br/><br/><span>Data Inserted successfully...!!</span>";
    } else {
        echo "<p>Insertion Failed <br/> Some Fields are Blank....!!</p>";
    }
    mysqli_close($connection); // Closing Connection with Server
}
?>
<!DOCTYPE html>
<html>
    <head>
        <title>PHP insertion</title>
        <link href="css/insert.css" rel="stylesheet">
    </head>
    <body>
        <div class="maindiv">
            <!--HTML Form -->
            <div class="form_div">
                <div class="title">
                    <h2>Insert Data In Database Using PHP.</h2>
                </div>
                <form action="insert.php" method="post">
                    <!-- Method can be set as POST for hiding values in URL-->
                    <h2>Form</h2>
                    <label>Chipnummer:</label>
                    <input class="input" name="Chipnummer" type="text" value="">
                    <label>DHLnummer:</label>
                    <input class="input" name="DHLnummer" type="text" value="">
                    <label>navn:</label>
                    <input class="input" name="navn" type="text" value="">
                    <label>Race:</label>
                    <input class="input" name="Race" type="text" value=""><br>
                    <input class="submit" name="submit" type="submit" value="Insert">
                </form>
            </div>
        </div>
    </body>
</html>
Avatar billede hyggelig75 Juniormester
27. maj 2019 - 20:07 #15
hmmm får denne fejl hvis jeg gør som du skriver : alså hvisjeg har fårstådet dig regitgt

Warning: mysqli_query() expects at least 2 parameters, 1 given in C:\xampp\htdocs\reghund\insert.php on line 13

Warning: mysqli_query(): Empty query in C:\xampp\htdocs\reghund\insert.php on line 14

her gjordt dette :

//Insert Query of SQL
$sql = mysqli_query ("insert into hunde(hunde_Chipnummer, hunde_DHLnummer, hunde_navn, hunde_Race) values ('$Chipnummer', '$DHLnummer', '$navn', '$Race')");
mysqli_query ($connection, $sql);
echo "<br/><br/><span>Data Inserted successfully...!!</span>";
}
Avatar billede hyggelig75 Juniormester
27. maj 2019 - 20:17 #16
har øndret til dette og nu er der nulle fejlkoder og den skriver "Data Inserted successfully...!!"

men den har ikke addet nogle datal til sql ??
Avatar billede hyggelig75 Juniormester
27. maj 2019 - 20:17 #17
<?php
$connection = mysqli_connect("localhost", "root", ""); // Establishing Connection with Server
$db_selected = mysqli_select_db($connection, "dogs"); // Selecting Database from Server
if(isset($_POST['submit'])){ // Fetching variables of the form which travels in URL
$Chipnummer = $_POST['Chipnummer'];
$DHLnummer = $_POST['DHLnummer'];
$navn = $_POST['navn'];
$Race = $_POST['Race'];
if($Chipnummer !=''||$DHLnummer!=''){
//Insert Query of SQL
$sql = "insert into hunde(hunde_Chipnummer, hunde_DHLnummer, hunde_navn, hunde_Race) values ('$Chipnummer', '$DHLnummer', '$navn', '$Race')";
mysqli_query ($connection, $sql);
echo "<br/><br/><span>Data Inserted successfully...!!</span>";
}
else{
echo "<p>Insertion Failed <br/> Some Fields are Blank....!!</p>";
}
}
mysqli_close($connection); // Closing Connection with Server
?>
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