$_POST & $_GET probleem?
Ben al een tijdje bezig wat hier mis gaat.
Ik heb een updat scriptje voor het bewerken van data in de mysql database gemaakt.
Op de een of andere manier lukt het niet om de database te updaten.
wie heeft er een suggestie, hier onder de 2 bestandjes:
Edit.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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<head>
<script type="text/javascript" src="../editor/ckeditor.js"></script>
<?php
$connect = mysql_connect("localhost","***","***");
if(!$connect)
{
die('Geen verbinding met database; ' . mysql_error());
}
mysql_select_db('music',$connect);
$id = $_GET["id"];
$result = mysql_query("SELECT * FROM Content WHERE ID = '$id'");
while($row = mysql_fetch_assoc($result)){
?>
</head>
<body>
<form id="form1" name="form1" method="get" action="update.php">
<label>
<input type="hidden" name="ID" id="ID" value="<? echo $id; ?>" />
<br />
<input name="titel" type="text" id="titel" value="<? echo "".$row['Titel'].""; ?>" />
<br />
<br />
<textarea name="content" id="content" cols="45" rows="5"><? echo "".$row['Content'].""; ?>
</textarea>
<script type="text/javascript">
window.onload = function()
{
CKEDITOR.replace( 'content' );
};
</script>
</label>
<p>
<label>
<input type="submit" name="button" id="button" value="Submit" />
</label>
</p>
</form>
</body>
<? } ?>
<script type="text/javascript" src="../editor/ckeditor.js"></script>
<?php
$connect = mysql_connect("localhost","***","***");
if(!$connect)
{
die('Geen verbinding met database; ' . mysql_error());
}
mysql_select_db('music',$connect);
$id = $_GET["id"];
$result = mysql_query("SELECT * FROM Content WHERE ID = '$id'");
while($row = mysql_fetch_assoc($result)){
?>
</head>
<body>
<form id="form1" name="form1" method="get" action="update.php">
<label>
<input type="hidden" name="ID" id="ID" value="<? echo $id; ?>" />
<br />
<input name="titel" type="text" id="titel" value="<? echo "".$row['Titel'].""; ?>" />
<br />
<br />
<textarea name="content" id="content" cols="45" rows="5"><? echo "".$row['Content'].""; ?>
</textarea>
<script type="text/javascript">
window.onload = function()
{
CKEDITOR.replace( 'content' );
};
</script>
</label>
<p>
<label>
<input type="submit" name="button" id="button" value="Submit" />
</label>
</p>
</form>
</body>
<? } ?>
Update.php:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$connect = mysql_connect("localhost","***","****");
if(!$connect)
{
die('Geen verbinding met database; ' . mysql_error());
}
mysql_select_db('music',$connect);
mysql_query("UPDATE Content SET Titel = '".$_GET["titel"]."' AND Content = '".$_GET["content"]."' WHERE ID= '".$_GET["ID"]."'");
mysql_close($con);
?>
$connect = mysql_connect("localhost","***","****");
if(!$connect)
{
die('Geen verbinding met database; ' . mysql_error());
}
mysql_select_db('music',$connect);
mysql_query("UPDATE Content SET Titel = '".$_GET["titel"]."' AND Content = '".$_GET["content"]."' WHERE ID= '".$_GET["ID"]."'");
mysql_close($con);
?>
Alvast bedankt voor jullie hulp!
Gewijzigd op 06/08/2010 20:19:26 door Rick steenbergen
mysql_real_escape_string of type cast naar int bijvoorbeeld. Dus kopieeër niet onnodig variabelen. Gebruik mysql_error alleen voor de development. Foutafhandeling ontbreekt.
Selecteer wat je wilt hebbe. Gebruik geen die. Zie Oke snap ik, maar lost dit mijn probleem op?
Rick steenbergen op 06/08/2010 20:24:13:
Oke snap ik, maar lost dit mijn probleem op?
Pas bovengenoemde punten toe en vertel wat er gebeurd.
Rick steenbergen op 06/08/2010 20:24:13:
Oke snap ik, maar lost dit mijn probleem op?
Ja, dan staat de fout op je scherm.
PS: Als je ook even de error_reporting aanzet wordt het nog duidelijker.
Gewijzigd op 06/08/2010 20:36:14 door - SanThe -
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
edit.php
<head>
<script type="text/javascript" src="../editor/ckeditor.js"></script>
<?php
$connect = mysql_connect("localhost","***","****");
mysql_select_db('music',$connect);
$id = $_GET["id"];
$result = mysql_query("SELECT * FROM Content WHERE ID = '$id'");
mysql_real_escape_string($ID);
while($row = mysql_fetch_assoc($result)){
?>
</head>
<body>
<form id="form1" name="form1" method="post" action="update.php">
<label>
<input type="hidden" name="ID" id="ID" value="<? echo $id; ?>" />
<br />
<input name="titel" type="text" id="titel" value="<? echo "".$row['Titel'].""; ?>" />
<br />
<br />
<textarea name="content" id="content" cols="45" rows="5"><? echo "".$row['Content'].""; ?>
</textarea>
<script type="text/javascript">
window.onload = function()
{
CKEDITOR.replace( 'content' );
};
</script>
</label>
<p>
<label>
<input type="submit" name="button" id="button" value="Submit" />
</label>
</p>
</form>
</body>
<? } ?>
<head>
<script type="text/javascript" src="../editor/ckeditor.js"></script>
<?php
$connect = mysql_connect("localhost","***","****");
mysql_select_db('music',$connect);
$id = $_GET["id"];
$result = mysql_query("SELECT * FROM Content WHERE ID = '$id'");
mysql_real_escape_string($ID);
while($row = mysql_fetch_assoc($result)){
?>
</head>
<body>
<form id="form1" name="form1" method="post" action="update.php">
<label>
<input type="hidden" name="ID" id="ID" value="<? echo $id; ?>" />
<br />
<input name="titel" type="text" id="titel" value="<? echo "".$row['Titel'].""; ?>" />
<br />
<br />
<textarea name="content" id="content" cols="45" rows="5"><? echo "".$row['Content'].""; ?>
</textarea>
<script type="text/javascript">
window.onload = function()
{
CKEDITOR.replace( 'content' );
};
</script>
</label>
<p>
<label>
<input type="submit" name="button" id="button" value="Submit" />
</label>
</p>
</form>
</body>
<? } ?>
update.php:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$connect = mysql_connect("localhost","**","**");
if(!$connect)
{
die('Geen verbinding met database; ' . mysql_error());
}
mysql_select_db('music',$connect);
mysql_query("UPDATE Content SET Titel = '".$_GET["titel"]."' AND Content = '".$_GET["content"]."' WHERE ID= '".$_GET["ID"]."'");
mysql_real_escape_string($ID);
mysql_close($con);
?>
$connect = mysql_connect("localhost","**","**");
if(!$connect)
{
die('Geen verbinding met database; ' . mysql_error());
}
mysql_select_db('music',$connect);
mysql_query("UPDATE Content SET Titel = '".$_GET["titel"]."' AND Content = '".$_GET["content"]."' WHERE ID= '".$_GET["ID"]."'");
mysql_real_escape_string($ID);
mysql_close($con);
?>
in iedergeval alvast bedankt
Gewijzigd op 06/08/2010 20:45:05 door rick steenbergen
Toevoeging op 06/08/2010 21:57:57:
Ben er nu achter dat er iet is het update-script niet klopt omdat de waarde via post gewoon worden doorgegeven naar de update.php pagina. daar gaat dus iets mis met de verwerking heb het update script iets aangepast maar nog steeds word er niks geupdate in de database kan iemand mij helpen hier het update script:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$connect = mysql_connect("localhost","**","**");
mysql_select_db('music',$connect);
if ( $_SERVER['REQUEST_METHOD'] == 'POST' &&
isset($_POST['content'], $_POST['titel']) )
{
$query = "UPDATE Content (Titel, Content WHERE ID = '".$_GET["ID"]."')
VALUES (
'".mysql_real_escape_string($_POST['titel'])."',
'".mysql_real_escape_string($_POST['content'])."')";
mysql_query($query);
mysql_close($con);
}
?>
$connect = mysql_connect("localhost","**","**");
mysql_select_db('music',$connect);
if ( $_SERVER['REQUEST_METHOD'] == 'POST' &&
isset($_POST['content'], $_POST['titel']) )
{
$query = "UPDATE Content (Titel, Content WHERE ID = '".$_GET["ID"]."')
VALUES (
'".mysql_real_escape_string($_POST['titel'])."',
'".mysql_real_escape_string($_POST['content'])."')";
mysql_query($query);
mysql_close($con);
}
?>
UPDATE table_name SET column1=value, column2=value2,... WHERE some_column=some_value
Met values kan ook, maar zorg ook dan dat je de juiste syntax gebruikt.