View Single Post
God kveld folkens.

Er det noen som er gode på SQL og kan svare på noen spørsmål her og kanskje komme med en løsning.


Sak:

Jeg har en app som tar imot input igjennom et skjema. Skjema lagres i databasen med AJAX / PHP.
Brukeren kan velge å slette sin input ved hjelp av Epost og SecretKey som de oppretter.

Når de skal slette denne går dette igjennom dette scriptet:

Kode

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}


$delete = $_POST['delete'];
$skey = $_POST['skey'];

$query = mysqli_query($conn, "SELECT * FROM form WHERE email='$delete'");

$sql = "DELETE FROM form WHERE secretKey='$skey' AND email='$delete'";

if(mysqli_num_rows($query) < 0) {
	echo "The email: " . $_POST['delete'] . " does not exist in our records";
}
elseif(!mysqli_query($conn, $sql)) {
	echo "Could not delete data!";
}
else {
	echo "You have deleted your information from our site. We hope you will come back!";
}


mysqli_close($conn);

Problem:

Problemet er som følger at når man KUN skriver inn epost og ikke secretKey for å slette vil den fortsatt slette personen fra databasen.
Denne skal KUN fungere om Epost OG secretKey de skriver inn er det samme som i databaseraden.

Samtidig kjører else statementen om jeg bare skriver inn secretKey og ikke epost som ikke gjør noen ting, men echoet sier at denne er slettet, noe det ikke er.




Noen som kan se denne koden og se hva som kan være feil her? Har nå prøvd å googla og gjort om på ting i over 4 timer, men får det absoutt ikke til.