$ROW inserten
Ik haal data op uit een database en wil deze vervolgens inserten naar een andere table maar dit werkt niet.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
require_once 'config.php';
$yacht = $_POST['yacht'];
$from_time = $_POST['from_time'];
$to_time = $_POST['to_time'];
$paymentPreference = $_POST['paymentPreference'];
$catering = $_POST['catering'];
$insurance = $_POST['insurance'];
$childLifejackets = $_POST['childLifejackets'];
$paddleboard = $_POST['paddleboard'];
$skipper = $_POST['skipper'];
$flot = $_POST['flot'];
$fishinggear = $_POST['fishinggear'];
$groceries = $_POST['groceries'];
$transfer = $_POST['transfer'];
$terms = $_POST['terms'];
$email = $_POST['email'];
$password = $_POST['password'];
$sql = "SELECT * FROM costumers WHERE email = '$email' LIMIT 1";
$result = $conn->query($sql);
if( $result->num_rows == 1) {
$row = $result->fetch_assoc();
if($password == $row['password']) {
$sql = "INSERT INTO `bookings`(`costumers_costumerID`, `Yachts_yachtID`, `paymentPreference`, `date_start`, `date_end`, `catering`, `skipper`, `flot`, `groceries`, `transfer`, `insurance`, `childLifejackets`, `fishinggear`, `paddlebloard`, `aggreedToTerms`)
VALUES ('". $row['customerID'] . "', '". $yacht . "', '". $paymentPreference . "', '". $from_time . "', '". $to_time . "', '". $catering . "', '". $skipper . "', '" . $flot . "', '" . $groceries . "', '" . $transfer . "', '" . $insurance . "', '" . $fishinggear . "', '" . $paddleboard . "', '" . $terms . "')";
if( $conn->query( $sql )) {
echo "Doet het";
} else {
echo "Doet het niet";
}
}
} else {
echo "Gebruiker niet gevonden";
}
?>
require_once 'config.php';
$yacht = $_POST['yacht'];
$from_time = $_POST['from_time'];
$to_time = $_POST['to_time'];
$paymentPreference = $_POST['paymentPreference'];
$catering = $_POST['catering'];
$insurance = $_POST['insurance'];
$childLifejackets = $_POST['childLifejackets'];
$paddleboard = $_POST['paddleboard'];
$skipper = $_POST['skipper'];
$flot = $_POST['flot'];
$fishinggear = $_POST['fishinggear'];
$groceries = $_POST['groceries'];
$transfer = $_POST['transfer'];
$terms = $_POST['terms'];
$email = $_POST['email'];
$password = $_POST['password'];
$sql = "SELECT * FROM costumers WHERE email = '$email' LIMIT 1";
$result = $conn->query($sql);
if( $result->num_rows == 1) {
$row = $result->fetch_assoc();
if($password == $row['password']) {
$sql = "INSERT INTO `bookings`(`costumers_costumerID`, `Yachts_yachtID`, `paymentPreference`, `date_start`, `date_end`, `catering`, `skipper`, `flot`, `groceries`, `transfer`, `insurance`, `childLifejackets`, `fishinggear`, `paddlebloard`, `aggreedToTerms`)
VALUES ('". $row['customerID'] . "', '". $yacht . "', '". $paymentPreference . "', '". $from_time . "', '". $to_time . "', '". $catering . "', '". $skipper . "', '" . $flot . "', '" . $groceries . "', '" . $transfer . "', '" . $insurance . "', '" . $fishinggear . "', '" . $paddleboard . "', '" . $terms . "')";
if( $conn->query( $sql )) {
echo "Doet het";
} else {
echo "Doet het niet";
}
}
} else {
echo "Gebruiker niet gevonden";
}
?>
Error:
Warning: Undefined array key "customerID" in C:\xampp\htdocs\coral-yachts-delano-burhan\templates\RoyalCarsHtml\includes\booking_customers.php on line 30
Zouden jullie hier mij mee kunnen helpen?
Gewijzigd op 17/04/2021 17:13:12 door Delano Velthuis
Ook was ik benieuwd of je tabelnaam klopt. Deze heet costumers. Lijkt mij een typfout.
En verder zie ik SQL-injectie bij je POST-variabelen.
En verder zie ik ook dat je het password niet beveiligd opslaat!!! Gevaarlijk!!!
Gewijzigd op 17/04/2021 17:52:46 door - Ariën -
Lijkt mij het meest waarschijnlijke.
Maar als je dat er zelf niet uit kan halen mag je wel serieus afvragen of je dit wilt gebruiken in een live omgeving.
Denk aan de volgende dingen.
Beveiliging, escape, paswoord hashing.
- Ariën - op 17/04/2021 17:50:31:
$row['customerID'] bestaat niet, een het veld customerID ook niet.
Ook was ik benieuwd of je tabel naam klopt. Deze heet costumers. Lijkt mij een typfout.
En verder zie ik SQL-injectie bij je POST-variabelen.
Ook was ik benieuwd of je tabel naam klopt. Deze heet costumers. Lijkt mij een typfout.
En verder zie ik SQL-injectie bij je POST-variabelen.
Hey Arien, ja klopt ja.. was me niet opgevallen die typfouten. Nu heb ik de typfouten opgelost en dan krijg ik dat hij
if( $conn->query( $sql )) {
echo "Doet het";
echo $sql;
} else {
echo "Doet het niet";
echo $sql;
}
de return geeft dat hij het niet doet. Wat raar is aangezien ik alles juist heb ingevuld vanuit de form
Toevoeging op 17/04/2021 18:07:01:
Ralf d op 17/04/2021 17:51:41:
O en de U omdraaien?
Lijkt mij het meest waarschijnlijke.
Maar als je dat er zelf niet uit kan halen mag je wel serieus afvragen of je dit wilt gebruiken in een live omgeving.
Denk aan de volgende dingen.
Beveiliging, escape, paswoord hashing.
Lijkt mij het meest waarschijnlijke.
Maar als je dat er zelf niet uit kan halen mag je wel serieus afvragen of je dit wilt gebruiken in een live omgeving.
Denk aan de volgende dingen.
Beveiliging, escape, paswoord hashing.
Hey Ralf,
Ga het gelukkig ook niet online gebruiken. Was mee een eigen project waar ik mee bezig ben. Wel bedankt voor je antwoord :D ik ga daar goed opletten!
Gewijzigd op 17/04/2021 18:09:18 door Delano Velthuis
Over je probleem: echo eens $sql.
Ook $conn->error moet meer duidelijkheid geven.
Gewijzigd op 17/04/2021 18:12:30 door - Ariën -
- Ariën - op 17/04/2021 18:10:55:
Of je het wel of niet online gebruikt: Escaping is noodzakelijk. Jacques 'd Ancona kon zich namelijk nooit registreren omdat zijn naam je query corrupt maakt.
Over je probleem: echo eens $sql.
Ook $conn->error moet meer duidelijkheid geven.
Over je probleem: echo eens $sql.
Ook $conn->error moet meer duidelijkheid geven.
INSERT INTO `bookings`(`customers_customerID`, `Yachts_yachtID`, `status`, `paymentStatus`, `paymentPreference`, `date_start`, `date_end`, `catering`, `skipper`, `flot`, `groceries`, `transfer`, `insurance`, `childLifejackets`, `fishinggear`, `paddlebloard`, `aggreedToTerms`) VALUES ('11', '1', 'Niet voltooid', 'Niet betaald', 'Paypal', '04/17/2021 4:40 PM', '04/19/2021 4:39 PM', 'N', 'Y', 'Y', 'Y', 'Y', 'N', 'Y', 'N', 'Y')
en
Column count doesn't match value count at row 1
is de response die ik krijg.
Toevoeging op 17/04/2021 18:15:39:
Heb dit nu opgelost en vervolgens krijg ik deze error:
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ' 'N', 'Y', 'N', 'Y')' at line 2.
Excusses voor de soms wat domme vragen. ik ben hier redelijk nieuw in na een lange afwezigheid ermee
Is het nu duidelijker? ;-)
- Ariën - op 17/04/2021 18:17:25:
Vrij vertaald: Het aantal kolommen komt niet overeen met het aantal waarden in de rij
Is het nu duidelijker? ;-)
Is het nu duidelijker? ;-)
Yes dankjewel, ik had dat opgelost alleen ik krijg nu deze error
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ' 'N', 'Y', 'N', 'Y')' at line 2
Zet wat enters in je query, zodat je een mooi overzicht hebt.
Delano probeer het jezelf meteen goed aan te leren maak een paar functies die het voor je doen en zet die in een bestand functies.php include dat bestand.
Dat bestand zou je in ieder project kunnen gebruiken als je een vaste manier hebt van
Programeren.
- Ariën - op 17/04/2021 18:20:00:
Ik denk dat je ergens een quote mist.
Zet wat enters in je query, zodat je een mooi overzicht hebt.
Zet wat enters in je query, zodat je een mooi overzicht hebt.
Top dankjewel!
Heb dit gedaan en het werkt nu, heb de fouten eruit gevonden.
Hartelijk dank voor je tijd en excuses voor de soms nog al slechte vragen.
Toevoeging op 17/04/2021 18:24:05:
Ralf d op 17/04/2021 18:21:55:
Op de een of andere manier was mijn vorige reactie leeg.
Delano probeer het jezelf meteen goed aan te leren maak een paar functies die het voor je doen en zet die in een bestand functies.php include dat bestand.
Dat bestand zou je in ieder project kunnen gebruiken als je een vaste manier hebt van
Programeren.
Delano probeer het jezelf meteen goed aan te leren maak een paar functies die het voor je doen en zet die in een bestand functies.php include dat bestand.
Dat bestand zou je in ieder project kunnen gebruiken als je een vaste manier hebt van
Programeren.
Goede tip!
Dankjewel zal er meteen naar kijken!
Succes! :-)