Stutteri=$_POST['Stutteri']
stringe skal omgives af plinger i sql
ca sådan
Stutteri='$_POST['Stutteri']'
men $_POST / $_GET / $_REQUEST bør aldrig ingå direkte i sql sætningen, de bør altid komme over som variable der er valideret
dette vil give en fejlmelding
$sql ="UPDATE users SET username=$brugernavn, password=$password, stutteri=$stutteri WHERE id=$id";
$rs = mysql_query($sql) or die("Der er sket en fejl. Fejlnr. ".mysql_error());
fordi der mangler plinger omkring stringe
$sql ="UPDATE users SET username='$brugernavn', password='$password', stutteri='$stutteri' WHERE id=$id";
$rs = mysql_query($sql) or die("Der er sket en fejl. Fejlnr. ".mysql_error());
Det fungere nu fint nok med tabeller synes jeg
http://stackoverflow.com/questions/83073/why-not-use-tables-for-layout-in-htmlhttp://www.hotdesign.com/seybold/
jeg har ikke fået læst mig frem til hvad forskellene er og hvad det betyder. Er det "bare" typen af kode der bruges i forbindelse med åbning af databaser og udtræk herfra??
mysqli og PDO er oop baseret, men du kan i mysqli anvende procudural style der ligner det du er vant til fra mysql api, der er små rettelser der skal laves
du har også mulighed for at anvende Prepared Statements hvilke kan øge din sikkerhed
eks
// default connection udgår
mysql_query($sql) or die("Der er sket en fejl. Fejlnr. ".mysql_error());
og
mysql_query($sql, $conn) or die("Der er sket en fejl. Fejlnr. ".mysql_error());
bliver til (procedural style)
mysqli_query($conn,$sql) or die("Der er sket en fejl. Fejlnr. ".mysqli_error());
og i OOP Style
$rs = $conn->query($sql);
i mysqli kan du sagtens blande procedual og oop style
i PDO
$sth = $conn->prepare($sql);
$sth->execute();
jeg vil på sigt koncentrarer mig om PDO, men vil helt klart også vedligeholde min mysqli viden
men her er lidt i det gamle API at arbejde ud fra
db
CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(255) COLLATE utf8_danish_ci NOT NULL,
`password` varchar(255) COLLATE utf8_danish_ci NOT NULL,
`stutteri` varchar(255) COLLATE utf8_danish_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_danish_ci AUTO_INCREMENT=3 ;
INSERT INTO `users` (`id`, `username`, `password`, `stutteri`) VALUES
(1, 'ronols', 'pw', 'rjo'),
(2, 'heidi', 'hest', 'G');
<?php
if(! isset($_SESSION)){
session_start();
}
require_once($_SERVER['DOCUMENT_ROOT']."/include/php/debugheader.php"); // slår fejl visning til/fra
require_once('Connect.php'); // Indeholder mit database connect.
// $brugernavn=$_SESSION['brugernavn'];
$brugernavn="ronols";
if(isset($_POST['Submit'])){
// her mangler validering af input
$password=$_POST['password'];
$stutteri=$_POST['stutteri'];
$sql ="UPDATE users SET password='$password', stutteri='$stutteri' WHERE username='$brugernavn'";
$rs = mysql_query($sql) or die("Der er sket en fejl. Fejlnr. ".mysql_error());
$msg ="DINE DATA ER OPDATERET";
}
else{
$sql ="SELECT * FROM users WHERE username='$brugernavn'";
$rs = mysql_query($sql) or die("Der er sket en fejl. Fejlnr. ".mysql_error());
$row = mysql_fetch_array($rs);
$password=$row['password'];
$stutteri=$row['stutteri'];
$msg ="Disse data er hentet";
}
$navn="";
$adresse="";
$postnr="";
$city="";
$tlf="";
$land="";
$alder="";
$email="";
$website="";
$om="";
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
table {
width: 80%;
}
table, th, td{
border: 0px solid black;
}
.skrift{
width: 140px;
}
.TextAlignRight{text-align:right;}
</style>
<script type="text/javascript">
</script>
</head>
<body>
<?php
echo $msg."<br>";
?>
<form action="<?php echo $_SERVER['PHP_SELF']?>" method="post">
<table>
<tr>
<td class="skrift" ><b>Brugernavn: </b></td>
<td >
<input type="text" value="<?php echo $brugernavn; ?>" name="brugernavn" class="bottom" disabled>
</td>
</tr>
<tr>
<td class="skrift" ><b>Password: </b></td>
<td >
<input type="text" value="<?php echo $password; ?>" name="password" class="bottom">
</td>
</tr>
<tr>
<td class="skrift" ><b></b></td>
<td ></td>
</tr>
<tr>
<td class="skrift"><b>Stutteri: </b><br></td>
<td >
<input type="text" value="<?php echo $stutteri; ?>" name="stutteri" class="bottom"><br>
Dette felt skal KUN udfyldes hvis man har et stutteri med ox arabere. <br>
Udfyldning af feltet betyder at man kommer med i stutterivejviseren.<br>
Gentagen misbrug af denne funktion medfører at man bliver slettet som medlem.<br><br><br>
</td>
</tr>
<tr>
<td class="skrift" ><b>Navn: </b></td>
<td >
<input type="text" value="<?php echo $navn; ?>" name="navn" class="bottom">
</td>
</tr>
<tr>
<td class="skrift" ><b>Adresse: </b></td>
<td >
<input type="text" value="<?php echo $adresse; ?>" name="adresse" class="bottom">
</td>
</tr>
<tr>
<td class="skrift"><b>Postnr.: </b></td>
<td >
<input type="text" value="<?php echo $postnr; ?>" size="8" name="postnr" class="bottom">
<b>By: </b>
<input type="text" value="<?php echo $city; ?>" name="city" class="bottom">
</td>
</tr>
<tr>
<td class="skrift" ><b>Phone: </b></td>
<td >
<input type="text" size="10" value="<?php echo $tlf; ?>" maxlength="10" name="tlf" class="bottom">
</td>
</tr>
<tr>
<td class="skrift" ><b>Land: </b></td>
<td >
<input type="text" size="10" value="<?php echo $land; ?>" maxlength="10" name="land" class="bottom">
</td>
</tr>
<tr>
<td class="skrift" ><b>Alder: </b></td>
<td >
<input type="text" value="<?php echo $alder; ?>" size="10" maxlength="10" name="alder" class="bottom">
</td>
</tr>
<tr>
<td class="skrift" ><b>E-mail: </b></td>
<td >
<input type="text" value="<?php echo $email; ?>" name="email" class="bottom">
</td>
</tr>
<tr>
<td class="skrift" ><b>Webpage: </b></td>
<td >
<input type="text" value="<?php echo $website; ?>" maxlength="50" size="25" name="website" class="bottom" >
</td>
</tr>
<tr>
<td class="skrift" ><b>Om: </b></td>
<td >
<textarea wrap="on" rows="4" cols="20" name="om" class="bottom"><?php echo $om; ?></textarea>
</td>
</tr>
<tr>
<td class="skrift">
<div class="TextAlignRight"></div>
</td>
<td >
<div class="TextAlignRight">
<input type="submit" value="opdater" name="Submit" class="bottom">
</div>
</td>
</tr>
</table>
</form>
</body>
</html>