Geen correcte database update.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ken DC

Ken DC

11/12/2011 12:19:11
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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";
?>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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;

}

?>

<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
 
PHP hulp

PHP hulp

04/05/2024 13:37:57
 
Obelix Idefix

Obelix Idefix

11/12/2011 12:27:56
Quote Anchor link
Geef je topic aub een passende naam; (bijna) iedereen heeft een (nieuw) probleem, anders zouden ze geen topic openen ;-)

In hoeverre wijkt dit af van http://www.phphulp.nl/php/forum/topic/probleem-met-phpmysql/81466/ ? (ook daar al zo'n pakkende titel...).
 
Ken DC

Ken DC

11/12/2011 12:30:12
Quote Anchor link
Het wijkt gwn af omdat ik na gisteren al zo ben gekomen dat ie wel database update, maar gewoon alles leegmaakt.
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 ;)
 
- Ariën  -
Beheerder

- Ariën -

11/12/2011 12:33:07
Quote Anchor link
Voeg eerst eens goed foutafhandeling en formulierafhandeling toe en werk je exit() weg.
 
Ozzie PHP

Ozzie PHP

11/12/2011 12:37:56
Quote Anchor link
@Kenneth: zoals al eerder gezegd, pas aub de titel aan zodat duidelijk wordt wat het probleem is.
 
Ken DC

Ken DC

11/12/2011 12:38:18
Quote Anchor link
Foutmelding: "Creating default object from empty value"

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"
 
Ozzie PHP

Ozzie PHP

11/12/2011 12:40:48
Quote Anchor link
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

Ja, dat is beter. Nu is voor iedereen duidelijk waar het over gaat.
 
- Ariën  -
Beheerder

- Ariën -

11/12/2011 12:43:19
Quote Anchor link
Is het volgen van de phptuts.nl php-tutorial niet een handig idee?
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

11/12/2011 13:01:00
Quote Anchor link
$data is een object dat nergens gedefiniëerd wordt
 
- Ariën  -
Beheerder

- Ariën -

11/12/2011 13:07:37
Quote Anchor link
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.
 
Ken DC

Ken DC

11/12/2011 13:09:02
Quote Anchor link
Is er een mogelijkheid om dit dan op te lossen zonder te veel kennis?
Ik heb al naar tutorials gekeken, maar ik word er gewoon niet wijzer van...
 
- Ariën  -
Beheerder

- Ariën -

11/12/2011 13:12:51
Quote Anchor link
gezien je code opbouw lijkt me het beter of opnieuw te beginnen.
Neem anders eens http://www.phptuts.nl/view/39/ door.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

11/12/2011 14:12:15
Quote Anchor link
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.
 
Ken DC

Ken DC

11/12/2011 14:32:29
Quote Anchor link
@Ger Van Steenderen

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? :$
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

11/12/2011 15:34:28
Quote Anchor link
Het volgende stukje code in plaats van regel 17 t/m 36 in je eerste code, hier staat de update in dus die kan je verderop weghalen. Ook moet je de ob_start op regel 6 weghalen
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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;
?>
Gewijzigd op 11/12/2011 15:35:17 door Ger van Steenderen
 
Ken DC

Ken DC

11/12/2011 15:42:28
Quote Anchor link
Parse error: syntax error, unexpected T_VARIABLE in /public_html/NL/editprofile.php on line 21

: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
 
- Ariën  -
Beheerder

- Ariën -

11/12/2011 18:20:26
Quote Anchor link
Echo eens $sql.
 
Ken DC

Ken DC

11/12/2011 18:21:33
Quote Anchor link
Heb ik gedaan. Deze script werkt nu perfect. Bedankt iedereen, en zeker Ger van Steenderen!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.