Geen correcte database update.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
include("headers.php");
include("menu.php");
session_start();
$passwordthatmustbesecret = "*****";
$hostthatmustbesecret = "localhost";
$usernamethatmustbesecret = "*****";
$databasethatmustbesecret = "*****_wwe";
$data->login = ($_SESSION['usr']);
mysql_connect($hostthatmustbesecret,$usernamethatmustbesecret,$passwordthatmustbesecret);
mysql_select_db($databasethatmustbesecret);
print " <tr><td class=\"mainTxt\"><a href=\"profile.php?x=$data->login\">Look at your profile</a></td></tr>\n";
?>
include("headers.php");
include("menu.php");
session_start();
$passwordthatmustbesecret = "*****";
$hostthatmustbesecret = "localhost";
$usernamethatmustbesecret = "*****";
$databasethatmustbesecret = "*****_wwe";
$data->login = ($_SESSION['usr']);
mysql_connect($hostthatmustbesecret,$usernamethatmustbesecret,$passwordthatmustbesecret);
mysql_select_db($databasethatmustbesecret);
print " <tr><td class=\"mainTxt\"><a href=\"profile.php?x=$data->login\">Look at your profile</a></td></tr>\n";
?>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$sql = "UPDATE tz_members SET url = '";
$sql .= urlencode(mysql_real_escape_string($_POST['url'])) . "',";
$sql .= "info = '" . mysql_real_escape_string($_POST['info']) . "',";
$sql .= "laand = '" . htmlspecialchars(mysql_real_escape_string($_POST['laand'])) . "',";
$sql .= "age = '" . htmlspecialchars(mysql_real_escape_string($_POST['age'])) . "' ";
$sql .= "WHERE usr = '" . $_SESSION['usr'] . "'";
$result = mysql_query($sql);
if ($result) {
if (mysql_affected_rows() == 1)
print '<tr><td class="mainTxt">You successfully updated your profile!</td></tr>'. "\n";
else
print '<tr><td class="mainTxt">Update failed; User doesn\'t excist!</td></tr>'. "\n";
}
else
print mysql_error() . '<br>' . $sql;
}
?>
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$sql = "UPDATE tz_members SET url = '";
$sql .= urlencode(mysql_real_escape_string($_POST['url'])) . "',";
$sql .= "info = '" . mysql_real_escape_string($_POST['info']) . "',";
$sql .= "laand = '" . htmlspecialchars(mysql_real_escape_string($_POST['laand'])) . "',";
$sql .= "age = '" . htmlspecialchars(mysql_real_escape_string($_POST['age'])) . "' ";
$sql .= "WHERE usr = '" . $_SESSION['usr'] . "'";
$result = mysql_query($sql);
if ($result) {
if (mysql_affected_rows() == 1)
print '<tr><td class="mainTxt">You successfully updated your profile!</td></tr>'. "\n";
else
print '<tr><td class="mainTxt">Update failed; User doesn\'t excist!</td></tr>'. "\n";
}
else
print mysql_error() . '<br>' . $sql;
}
?>
<tr><td class="mainTxt">
<form method="post"><table align="center">
<tr><td width=100>Country:</td> <td><input type="text" name="$sql->laand"></td></tr>
<tr><td width=100>Age:</td> <td><input type="text" name="$sql->age"></td></tr>
<tr><td width=100>Avatar:</td> <td><input type="text" name="$sql->url"></td></tr>
<tr><td width=100 valign="top">Profile content:<br><br>
<td><textarea name="$sql->info" cols=30 rows=10></textarea></td></tr>
<tr><td></td> <td align="right"><input type="submit" name="submit" value="Update"></td></tr>
</table></form></td></tr></table>
Deze code heb ik nu. Laatst gewijzigd na hulp van "Ger van Steenderen".
Gewijzigd op 11/12/2011 17:03:46 door Ken DC
In hoeverre wijkt dit af van http://www.phphulp.nl/php/forum/topic/probleem-met-phpmysql/81466/ ? (ook daar al zo'n pakkende titel...).
En wat moet ik dan maken als titel? "Editprofile werkt nog niet"?
Ik wil gewoon dat m'n editprofile werkt. En dit is de enige forum waar ik op geplaatst heb totnogtoe.
Enige hulp is altijd welkom ;)
Voeg eerst eens goed foutafhandeling en formulierafhandeling toe en werk je exit() weg.
@Kenneth: zoals al eerder gezegd, pas aub de titel aan zodat duidelijk wordt wat het probleem is.
krijg ik met een foutafhandeling.
en wat bedoel je met een formulierafhandeling?
En als ik die exit wegdoe dan krijg in een unexpected $end.
Toevoeging op 11/12/2011 12:39:17:
@Ozzie PHP
Beter zo? :p Ik weet anders niet hoe ik het moet noemen hoor. :p
Toevoeging op 11/12/2011 12:40:30:
@ Aar
Ook krijg ik deze meldingen onderaan
Er is een fout opgetreden
Foutlevel: 8
Foutmelding: "Undefined property: stdClass::$url"Er is een fout opgetreden
Foutlevel: 8
Foutmelding: "Undefined property: stdClass::$info"Er is een fout opgetreden
Foutlevel: 8
Foutmelding: "Undefined property: stdClass::$laand"Er is een fout opgetreden
Foutlevel: 8
Foutmelding: "Undefined property: stdClass::$age"
Kenneth De Cock op 11/12/2011 12:38:18:
@Ozzie PHP
Beter zo? :p Ik weet anders niet hoe ik het moet noemen hoor. :p
@Ozzie PHP
Beter zo? :p Ik weet anders niet hoe ik het moet noemen hoor. :p
Ja, dat is beter. Nu is voor iedereen duidelijk waar het over gaat.
Is het volgen van de phptuts.nl php-tutorial niet een handig idee?
$data is een object dat nergens gedefiniëerd wordt
ik mis een mysql_fetch_object() heb ik het idee. Hoewel een mysql_fetch-assoc veel beter is. Echter gebruik je ind at geval geen object-pijltjes, maar array's.
Ik heb al naar tutorials gekeken, maar ik word er gewoon niet wijzer van...
Neem anders eens http://www.phptuts.nl/view/39/ door.
Ger van Steenderen op 11/12/2011 13:01:00:
$data is een object dat nergens gedefiniëerd wordt
Laad je ergens een class in? Dan moet je dus eerst $data 'aanmaken':
$data = new claasName();
Maar als ik het zo bekijk heb je dat object helemaal niet nodig, want het doet alleen maar wat met de POST vars, die kan ook rechtstreeks met de nodige functies in de sql plaatsen.
Overigens staat je update query helemaal verkeerd.
En zou je me dan kunnen zeggen wat waar moet staan en hoe ik dan die clasnames maak en waar?
Zou een grote hulp zijn als ik deze script aan het werken krijg. Dan kan ik gewoon al de rest zelf doen.
Kan je me anders PM'e met meer details? :$
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$sql = "UPDATE tz_members SET url = '";
$sql .= urlencode(mysql_real_escape_string($_POST['url'])) . "',"
$sql .= "info = '" . mysql_real_escape_string($_POST['info']) . "',";
$sql .= "laand = '" . htmlspecialchars(mysql_real_escape_string($_POST['laand'])) . "',";
$sql .= "age = '" . htmlspecialchars(mysql_real_escape_string($_POST['age'])) . "' ";
$sql .= "WHERE usr = '" . $_SESSION['usr'] . "'",
$result = mysql_query($sql);
if ($result) {
if (mysql_affected_rows() == 1)
print '<tr><td class="mainTxt">You successfully updated your profile!</td></tr>'. "\n";
else
print '<tr><td class="mainTxt">Update failed; User doesn\'t excist!</td></tr>'. "\n";
}
else
print mysql_error() . '<br>' . $sql;
exit;
?>
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$sql = "UPDATE tz_members SET url = '";
$sql .= urlencode(mysql_real_escape_string($_POST['url'])) . "',"
$sql .= "info = '" . mysql_real_escape_string($_POST['info']) . "',";
$sql .= "laand = '" . htmlspecialchars(mysql_real_escape_string($_POST['laand'])) . "',";
$sql .= "age = '" . htmlspecialchars(mysql_real_escape_string($_POST['age'])) . "' ";
$sql .= "WHERE usr = '" . $_SESSION['usr'] . "'",
$result = mysql_query($sql);
if ($result) {
if (mysql_affected_rows() == 1)
print '<tr><td class="mainTxt">You successfully updated your profile!</td></tr>'. "\n";
else
print '<tr><td class="mainTxt">Update failed; User doesn\'t excist!</td></tr>'. "\n";
}
else
print mysql_error() . '<br>' . $sql;
exit;
?>
Gewijzigd op 11/12/2011 15:35:17 door Ger van Steenderen
:p
Toevoeging op 11/12/2011 15:48:37:
Dat gaat dan over $sql .= "info = '" en wss dan ook laand, age :p
Ze staan wel zo in m'n database :o
Toevoeging op 11/12/2011 16:17:25:
oke dat heb ik dus allemaal gefixt. Nu zegt ie nog steeds Succesvol, maar hij verwijderd gwn alles uit de database. :o
Echo eens $sql.
Heb ik gedaan. Deze script werkt nu perfect. Bedankt iedereen, en zeker Ger van Steenderen!