Så er der kommet kommentarer til. Jeg har rettet en fejl. I dit oprindelige script, er disse to variable nemlig ikke de samme:
$kundeid og $KundeID!!!
<?
// Variablen $CPR modtages fra en formular på foregående side
// $_POST indeholder et array med alle variabler der er "Postet" til siden.
// Der findes også "Get", og hvornår du skal bruge Post eller Get afhænger af
// om formularen der sender data har method="post" eller method="get".
// Navnet på variablen afhænger af navnet på feltet. Her er det name="CPR"
$CPR= ($_POST['CPR']);
// Det samme som ovenstående, her er det bare et felt der har name="filmID"
$filmID = ($_POST['filmID']);
// Der tilføjes slashes for at uskadeliggøre alle "'" (apostroffer),
// da de har en særlig betydning i SQL!!
// Læs mere her
http://dk.php.net/addslashes$cpr= addslashes($_POST['CPR']);
$filmid = addslashes($_POST['filmID']);
// variablen $KundeID sætte til NULL, som betyder - "ingenting"!
// Null er ikke det samme som en tom streng "" eller 0!
$KundeID = null;
// Slå brugeren op.
// Der oprettes en forbindelse til MySQL-serveren der kører
// på adressen "localhost", med brugernavnet "root" og password ""
// Hvis du er på et webhotel skal dette måske ændres!
// root-kontoen er som oftest ikke tilgængelig!
// or die() giver en fejl, hvis der ikke kan forbindes til serveren!
mysql_connect("localhost", "root", "") or die ("Could not Login ot sql");
//print ("Connected successfully<br><br>");
// Her vælger vi databasen videobutikken eller også skriver vi en fejlmeddelelse
// se
http://dk.php.net/mysql_select_dbmysql_select_db ("videobutikken")or die ("Could not connect to DB");
// Her sender vi en forespørgsel til databasen, hvor vi ønsker at få
// alle KundeID fra tabellen kunder hvor kundens CPRnr = variablen $cpr
// se
http://dk.php.net/mysql_query$res=mysql_query("SELECT KundeID FROM kunder WHERE kunder.CPR = '$cpr'");
// Hvis vi har fået nogen resultater (skulle kun give ét),
// så bliver $kundeid = resultatet ($row[0])
if( $res ) {
$row = mysql_fetch_row($res); // se
http://dk.php.net/mysql_fetch_row if( $row ) {
$KundeID = $row[0];
}
}
// Ellers udskrives en fejl!
// se
http://dk.php.net/mysql_errorelse {
die("Databasefejl: " . mysql_error());
}
// Vi ser om vi fandt nogen kundeoplysninger
if( $KundeID === null ) {
// Hvis ikke udskrives nedenstående i browseren
print "Kundeinformationer er ikke fundet.";
// Og vi stopper afviklingen af scriptet
// se
http://dk.php.net/exit exit;
}
// Tjek om filmen er udleget
// Her henter vi feltet 1 fra tabellen kunder hvor feltet filmID er lig
// variablen $filmID, hvis det går galt udskrives forespørgslen
// se
http://dk.php.net/die$res = mysql_query("SELECT 1 FROM kunder WHERE filmID = '$filmID'") or die(mysql_query());
if( mysql_fetch_row($res) ) { // Hvis den er udlånt får vi een række, og kommer derfor ind i denne if-sætning
echo "Filmen er desværre udlånt";
exit;
}
// Her burde der måske være et tjek, om det er et rigtigt filmid der
// er givet til scriptet, således at man ikke kan leje ikke-eksisterende
// film.
// Opdatér udlaan
//---------------------
// Her opdateres feltet filmID i tabellen kunder hvor feltet KundeID er lig
// variablen $KundeID - hvis noget går galt udskrives en fejl med or die()
$res = mysql_query("UPDATE kunder SET filmID='$filmID' WHERE KundeID='$KundeID'") or die("Databasefejl: " . mysql_error());
?>