Mysql systeem werkt niet!
Alleen het werkt niet, want bij toevoegen.php komt het niet in database.
en bij geefweer.php weet ik niet of het werkt omdat er niks in database staat. De gegevens moeten in de tabel aflevering komen...
uitgevoerde sql:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
CREATE TABLE `aflevering` (
`id` INT( 10 ) NOT NULL AUTO_INCREMENT ,
`naam` VARCHAR( 255 ) NOT NULL ,
`datum` VARCHAR( 10 ) NOT NULL ,
`url` VARCHAR( 2500 ) NOT NULL ,
`titel` VARCHAR( 2500 ) NOT NULL ,
PRIMARY KEY ( `id` )
);
`id` INT( 10 ) NOT NULL AUTO_INCREMENT ,
`naam` VARCHAR( 255 ) NOT NULL ,
`datum` VARCHAR( 10 ) NOT NULL ,
`url` VARCHAR( 2500 ) NOT NULL ,
`titel` VARCHAR( 2500 ) NOT NULL ,
PRIMARY KEY ( `id` )
);
config.php
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?
$dburl="localhost";
$dbuser="-.-";
$dbpass="-.-";
mysql_connect("$dburl","$dbuser","$dbpass");
?>
$dburl="localhost";
$dbuser="-.-";
$dbpass="-.-";
mysql_connect("$dburl","$dbuser","$dbpass");
?>
geefweer.php
toevoegen.php
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
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
<?php
include 'config.php';
$verzend = $_POST['verzend'];
$naam= $_POST['naam'];
$datum= $_POST['datum'];
$url= $_POST['url'];
$titel= $_POST['titel'];
$id= $_POST['id'];
if ($verzend && $naam && $datum && $url && $titel && $id) {
mysql_query("INSERT INTO aflevering (naam, datum, url, titel, id) VALUES ('".$naam."', '".$datum."', '".$url."', '".$titel."', '".$id."')");
echo "U aflevering ".$titel." is succesvol geplaatst.";
}else{
?>
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post">
<b>naam: </b><br /><input type="text" name="naam"><br />
<b>datum: </b><br /><input type="text" name="datum"><br />
<b>url: </b><br /><input type="text" name="url"><br />
<b>titel: </b><br /><input type="text" name="titel"><br />
<b>id: </b><br /><input type="text" name="id"><br />
<input type="submit" name="verzend" value="Verzenden" />
</form>
<?php
}
?>
include 'config.php';
$verzend = $_POST['verzend'];
$naam= $_POST['naam'];
$datum= $_POST['datum'];
$url= $_POST['url'];
$titel= $_POST['titel'];
$id= $_POST['id'];
if ($verzend && $naam && $datum && $url && $titel && $id) {
mysql_query("INSERT INTO aflevering (naam, datum, url, titel, id) VALUES ('".$naam."', '".$datum."', '".$url."', '".$titel."', '".$id."')");
echo "U aflevering ".$titel." is succesvol geplaatst.";
}else{
?>
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post">
<b>naam: </b><br /><input type="text" name="naam"><br />
<b>datum: </b><br /><input type="text" name="datum"><br />
<b>url: </b><br /><input type="text" name="url"><br />
<b>titel: </b><br /><input type="text" name="titel"><br />
<b>id: </b><br /><input type="text" name="id"><br />
<input type="submit" name="verzend" value="Verzenden" />
</form>
<?php
}
?>
Nog iets over het formulier, van toevoegen.php, hoe zorg je dat het vak url ongeveer zo groot is als het vak waar je een bericht op dit forum typt is?
Als iemand kan helpen, bedankt!
`datum` VARCHAR( 10 ) NOT NULL ,
$vars niet tussen quotes
mysql_connect("$dburl","$dbuser","$dbpass");
Gebruik dubbele quotes omdat in de query enkele quotes worden gebruikt. En wat doet die * daar? Waar is de foutafhandeling?
mysql_query('*SELECT id, titel, FROM aflevering');
Copiëren is niet nuttig. Kost alleen maar extra geheugen.
$naam= $_POST['naam'];
Lees eens over sql-injection. Je INSERT is lek.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
dat van die vars dus '$var'?
SELECT id, titel, FROM aflevering moet het zeker zijn??
en van die sql-injection snap ik niet wat je bedoelt.
mysql_connect($dburl, $dbuser, $dbpass);
mysql_query("SELECT id, titel FROM aflevering");
Lees eens over sql-injection. Je INSERT is lek. GOOGLE.
mysql_select_db hebben staan?
En moet je niet de user-input controleren? En vooral niet direct in je query zetten.
Moet je niet nog ergens En moet je niet de user-input controleren? En vooral niet direct in je query zetten.
Henk schreef op 01.11.2008 15:44:
Moet je niet nog ergens mysql_select_db hebben staan?
En moet je niet de user-input controleren? En vooral niet direct in je query zetten.
En moet je niet de user-input controleren? En vooral niet direct in je query zetten.
db select nog niet aangedacht, en die pagina word nog beveiligt, dus dan kan alleen ik er bij.
edit, van dat sql injection, ik zie dat gevaarlijk is, maar hoe moet ik het dan doen?
Gewijzigd op 01/01/1970 01:00:00 door ralph
ralph schreef op 01.11.2008 15:46:
db select nog niet aangedacht, en die pagina word nog beveiligt, dus dan kan alleen ik er bij.
No offence maar als ik zie hoe je de boel gewoon in je query pleurt vraag ik me af hoe goed die beveiliging gaat zijn.
je kan toch de map beveiligen met .htacces?
en waarom werkt toevoegen.php niet?
edit:
config.php aangepast
Gewijzigd op 01/01/1970 01:00:00 door ralph