Kon geen goede titel vinden voor de vraag, en ook geen oplossing op Google.
Ik probeer een Ticket Systeem te maken. Als de ticket gemaakt is, word er automatisch een nieuw "temp_acc" oftewel tijdelijk account gemaakt waar ze kunnen op inloggen.
Wat ik niet weet hoe te doen, is de Ticket ID te krijgen, die wel nodig is voor de account.
Dit is the MySQL Query voor de account te maken:
Codeblok (voorbeeld.php):
1
INSERT INTO `temp_accounts` (`id`, `username`, `password`, `email`, `ticket_id`, `activated`) VALUES (NULL, , , , , 1)"
Ik kan de email wel vinden omdat ze die hebben moeten invullen bij het maken van het ticket. Maar de ID is auto-increment en kan ik alleen krijgen nadat de ticket gemaakt is.
Het probleem is dat is geen idee heb om de juiste account bij de juiste ticket moet krijgen.
De "username" moet de ticket-id zijn, en de "ticket_id" moet de ticket id nogmaals zijn.
Op welke manier zou ik dit kunnen laten werken?
Ik zal een stuk van mijn code hier laten zien om het duidelijker te maken:
Codeblok (voorbeeld.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
if(isset($defaultSubmit)){
// Vars:
$email = $_POST[email];
$ign = $_POST[ign];
$subject = $_POST[subject];
$details = $_POST[details];
// Creating the ticket:
$sql = "INSERT INTO `tickets` (`id`, `topic`, `email`, `mcname`, `subject`, `details`, `ban_id`, `ban_ign`, `ban_reason`, `ban_date`, `ban_alts`, `ban_vpn`, `ban_proof`, `ban_ip`, `ban_extra`, `status`, `claimed_by`, `answered`) VALUES (NULL, {$topic}, {$email}, {$ign}, {$subject}, {$details}, 0, 0, 0, 0, 0, 0, 0, 0, 0, open, none, no)";
$result = mysqli_query($dbc, $sql);
if($result){
echo "Your ticket has been created.";
}else{
echo mysqli_error($dbc);
}
if(!$_SESSION[username]){
// Create temp account
$ticketid = "SELECT `id` FROM `tickets` WHERE "
$sql = "INSERT INTO `temp_accounts` (`id`, `username`, `password`, `email`, `ticket_id`, `activated`) VALUES (NULL, , , {$ubEmail}, , 1)";
$result = mysqli_query($dbc, $sql);
}
}
Ik probeer een Ticket Systeem te maken. Als de ticket gemaakt is, word er automatisch een nieuw "temp_acc" oftewel tijdelijk account gemaakt waar ze kunnen op inloggen.
Wat ik niet weet hoe te doen, is de Ticket ID te krijgen, die wel nodig is voor de account.
Dit is the MySQL Query voor de account te maken:
Codeblok (voorbeeld.php):
1
INSERT INTO `temp_accounts` (`id`, `username`, `password`, `email`, `ticket_id`, `activated`) VALUES (NULL, , , , , 1)"
Ik kan de email wel vinden omdat ze die hebben moeten invullen bij het maken van het ticket. Maar de ID is auto-increment en kan ik alleen krijgen nadat de ticket gemaakt is.
Het probleem is dat is geen idee heb om de juiste account bij de juiste ticket moet krijgen.
De "username" moet de ticket-id zijn, en de "ticket_id" moet de ticket id nogmaals zijn.
Op welke manier zou ik dit kunnen laten werken?
Ik zal een stuk van mijn code hier laten zien om het duidelijker te maken:
Codeblok (voorbeeld.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
if(isset($defaultSubmit)){
// Vars:
$email = $_POST[email];
$ign = $_POST[ign];
$subject = $_POST[subject];
$details = $_POST[details];
// Creating the ticket:
$sql = "INSERT INTO `tickets` (`id`, `topic`, `email`, `mcname`, `subject`, `details`, `ban_id`, `ban_ign`, `ban_reason`, `ban_date`, `ban_alts`, `ban_vpn`, `ban_proof`, `ban_ip`, `ban_extra`, `status`, `claimed_by`, `answered`) VALUES (NULL, {$topic}, {$email}, {$ign}, {$subject}, {$details}, 0, 0, 0, 0, 0, 0, 0, 0, 0, open, none, no)";
$result = mysqli_query($dbc, $sql);
if($result){
echo "Your ticket has been created.";
}else{
echo mysqli_error($dbc);
}
if(!$_SESSION[username]){
// Create temp account
$ticketid = "SELECT `id` FROM `tickets` WHERE "
$sql = "INSERT INTO `temp_accounts` (`id`, `username`, `password`, `email`, `ticket_id`, `activated`) VALUES (NULL, , , {$ubEmail}, , 1)";
$result = mysqli_query($dbc, $sql);
}
}
Overigens is je code absoluut niet veilig, maar ik heb nu geen zin om daar diep op in te gaan 
4. uitlijning