Black Friday = Pricewatch Bekijk onze selectie van de beste Black Friday-deals en voorkom een miskoop.

[PHP/MYSQL] MYSQL update werkt niet

Pagina: 1
Acties:
  • 418 views

  • GiantLeap
  • Registratie: Oktober 2005
  • Laatst online: 15-11 00:41

GiantLeap

One GiantLeap for mankind

Topicstarter
Ik heb nu het volgende script om je profiel op mijn website aan te passen:

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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
<?
session_start();
// Verwijder deze comment en de onderstaande regel als je een eigen stylesheet gebruikt...
echo "<link rel=\"stylesheet\" content=\"text/css\" href=\"style.css\">";

if(isset($_SESSION['memberid'])){
require("config.php");

$query = mysql_query("SELECT * FROM members WHERE memberid =". $_SESSION['memberid']);
if(!$submit){
$row = mysql_fetch_array($query);

?>
<form method="POST" action="members/wijzig.php">
  <input type="hidden" name="submit" value="1">
  Naam:<br>
  <input type="text" name="naam" size="30" value="<? echo $row['naam'] ?>"> *<br>
  Email adres:<br>
  <input type="text" name="email" size="30" value="<? echo $row['email'] ?>"> *<br>
  Homepage:<br>
  <input type="text" name="homepage" size="30" value="<? echo $row['homepage'] ?>"><br>
  Woonplaats:<br>
  <input type="text" name="woonplaats" size="30" value="<? echo $row['woonplaats'] ?>"><br>
<?
$geb = explode("-",$row['geboortedatum']);
?>
  Geboortedatum ( dd-mm-jjjj ):<br>
  <input type="text" name="geb1" size="2" maxlength="2" value="<? echo $geb[0] ?>"> -
  <input type="text" name="geb2" size="2" maxlength="2" value="<? echo $geb[1] ?>"> -
  <input type="text" name="geb3" size="4" maxlength="4" value="<? echo $geb[2] ?>"><br>
  Hobby's:<br>
  <textarea name="hobbys" rows="3"><? echo htmlspecialchars($row['hobbys']); ?></textarea><br>
  Favo drankje(s):<br>
  <input type="text" name="drank" value="<? echo $row['favodrankje'] ?>" size="30"><br>
  Favo artiest(en):<br>
  <input type="text" name="artiest" value="<? echo $row['favoartiest'] ?>" size="30"><br>
  Favo film:<br>
  <input type="text" name="film" value="<? echo $row['favofilm'] ?>" size="30"><br>
  Geslacht:<br>
<?
if($row['geslacht']=="Man"){
$ga = " selected";
}
elseif($row['geslacht']=="Vrouw"){
$gb = " selected";
}
else{
$gc = " selected";
}
?>
  <select size="1" name="geslacht">
  <option value="Man"<? echo $ga ?>>Man</option>
  <option value="Vrouw"<? echo $gb ?>>Vrouw</option>
  <option value="Weet ik niet"<? echo $gc ?>>Weet ik niet</option>
  </select><br>
  Relatie:<br>
<?
if($row['relatie']=="1"){
$ra = " selected";
}
elseif($row['relatie']=="0"){
$rb = " selected";
}
else{
$rc = " selected";
}
?>
  <select size="1" name="relatie">
  <option value="1"<? echo $ra ?>>Ja</option>
  <option value="0"<? echo $rb ?>>Nee</option>
  <option value="2"<? echo $rc ?>>Binnenkort</option>
  </select><br>
<?
if($row['pm']=="1"){
$pma = " selected";
}
else{
$pmb = " selected";
}
?>
  Privé- berichten:<br>
  <select size="1" name="pm">
  <option value="1"<? echo $pma ?>>Aan</option>
  <option value="0"<? echo $pmb ?>>Uit</option>
  </select><br>
  <br>
  Wachtwoord:<br>
  <input type="password" name="wachtwoord" size="12" maxlength="12"><br>
  Wachtwoord [ bevestig ]:<br>
  <input type="password" name="wachtwoord2" size="12" maxlength="12"><br>
  <input type="submit" value="Opslaan"> <input type="reset" value="Reset"></p>
</form>
<?

}
else{
$geboortedatum = "$geb1-$geb2-$geb3";

if($wachtwoord){
if($wachtwoord!=$wachtwoord2){
echo "Wachtwoorden zijn niet gelijk aan elkaar...";
}
else{
mysql_query("UPDATE members SET naam='$naam', email='$email', geboortedatum = '$geboortedatum', homepage = '$homepage', hobbys = '$hobbys', favodrankje = '$drank', favoartiest = '$artiest', favofilm = '$film', geslacht = '$geslacht', relatie = '$relatie', pm = '$pm', woonplaats = '$woonplaats', wachtwoord = '$wachtwoord' WHERE memberid =". $_SESSION['memberid'] or die(mysql_error()));

echo "Gegevens & Wachtwoord zijn succesvol gewijzigd, log nu opnieuw in met je nieuwe wachtwoord...<br><br><a href=\"login.php\">Log in</a>";
session_destroy();
}
}
else{
if(!$naam || !$email){
echo "Vul de verplichte velden in...";
}
else{
mysql_query("UPDATE members SET naam='$naam', email='$email', geboortedatum = '$geboortedatum', homepage = '$homepage', hobbys = '$hobbys', favodrankje = '$drank', favoartiest = '$artiest', favofilm = '$film', geslacht = '$geslacht', relatie = '$relatie', pm = '$pm', woonplaats = '$woonplaats' WHERE memberid =". $_SESSION['memberid'] or die(mysql_error()));
echo "Gegevens zijn succesvol opgeslagen...";
}
}
}
}
else{
echo "Je bent niet ingelogd, daarom kun je de gegevens van deze member niet bewerken...<br><br><a href=\"login.php\">Login</a>";
}
?>


Als ik nu op 'Opslaan' druk, krijg ik wel de melding dat de gegevens succesvol zijn opgeslagen, maar als ik dan het profiel bekijk is er niks veranderd. Als ik met behulp van een echo de informatie bekijk, krijg ik wel gewoon de info te zien die ik heb gewijzigd. Ik heb de variabelen ook al buiten de quotes gezet, maar ook dat werkt niet. Met een echo werkt het dus wel. Volgens mij is de gebruikte syntax verder ook correct. Iemand enig idee wat hier mis gaat?

OS: Windows 2003R2
webserver: Abyss Webserver
PHP: versie 5.2.2
MYSQL: 5.0.67

Mario Kart Tour: 211982902522
Rockstar Games Social Club (PC): GiantLeap

RC spul:
Traxxas Nitro Rustler
Hubsan X4 H107D
DJI Phantom 2 Vision+


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:11
Ik wil je er even op wijzen dat dit forum geen 'dump hier code en wacht tot de oplossing eruit komt rollen' plek is.
Hiermee bedoel ik dat, indien je een programmeerprobleem hebt, we verwachten dat je eerst zelf eens eea uitgezocht hebt waarom je probleem zich voordoet.
Indien het je niet lukt om het probleem op te lossen, kan je hier natuurlijk een topic openen, maar dan wel met enkel de relevante code (ipv 124 regels code waarvan de helft waarschijnlijk niet relevant is). Het is nl. niet de bedoeling dat wij hier jouw code gaan zitten debuggen.
Daarnaast kan je ook eens vermeldn wat je al geprobeerd hebt.

Dus, ik zou zeggen: pas je topicstart ff aan, en gebruik evt de PRG Quickstart als 'guideline'.

https://fgheysels.github.io/


  • krvabo
  • Registratie: Januari 2003
  • Laatst online: 12-11 22:03

krvabo

MATERIALISE!

PHP:
1
mysql_query("UPDATE members SET naam='$naam', email='$email', geboortedatum = '$geboortedatum', homepage = '$homepage', hobbys = '$hobbys', favodrankje = '$drank', favoartiest = '$artiest', favofilm = '$film', geslacht = '$geslacht', relatie = '$relatie', pm = '$pm', woonplaats = '$woonplaats', wachtwoord = '$wachtwoord' WHERE memberid =". $_SESSION['memberid']) or die(mysql_error());

Alsjeblieft. Volgende keer niet meer zo'n enorme lap code posten ;)

Pong is probably the best designed shooter in the world.
It's the only one that is made so that if you camp, you die.


  • Cartman!
  • Registratie: April 2000
  • Niet online
Wat heb je al geprobeerd dan?

Krijg meer het idee dat je dit niet zelf geschreven hebt. Leer debuggen; echo je queries en voer ze handmatig uit in een shell of phpMyAdmin. Werken ze dan wel? Zoniet, waarom niet? Ik heb persoonlijk geen zin om 100+ regels code door te kijken voor je.

Trouwens, volgens mij heb je voor dit script register_globals aan staan, anders gaat ie sowieso niet werken. En register_globals aan...das echt niet meer van deze tijd. Zoek eens op wat het is en welke risicos het met zich mee brengt. Succes.

edit:
goedzo, het antwoord posten...hier leert ie van hoor slimbo :{ blijft ie niet zn eigen simpele problemen kunnen oplossen en een foute werkwijze gebruiken.

[ Voor 13% gewijzigd door Cartman! op 20-09-2008 21:22 ]


  • krvabo
  • Registratie: Januari 2003
  • Laatst online: 12-11 22:03

krvabo

MATERIALISE!

Cartman! schreef op zaterdag 20 september 2008 @ 21:21:
edit:
goedzo, het antwoord posten...hier leert ie van hoor slimbo :{ blijft ie niet zn eigen simpele problemen kunnen oplossen en een foute werkwijze gebruiken.
Kan het nog vriendelijker? :)

Pong is probably the best designed shooter in the world.
It's the only one that is made so that if you camp, you die.


  • Cartman!
  • Registratie: April 2000
  • Niet online
GoT is om mensen te helpen...niet om een antwoord voor te kauwen waar ze in feite niets mee opschieten. Ja, deze ene keer, maar daarmee blijft de TS op de verkeerde manier werken en is het over 2 of 3 dagen weer een simpel probleem. Het is niet persoonlijk bedoeld verder, het stelt me teleur dat de TS nu 'verkeerd' geholpen is. Hopelijk doet hij alsnog iets met mijn raad :)

  • krvabo
  • Registratie: Januari 2003
  • Laatst online: 12-11 22:03

krvabo

MATERIALISE!

Bull.
Ik geef het antwoord op de fout van één query. Hij zal alsnog de andere zelf moeten aanpassen.
De TS geeft aan wat hij heeft geprobeerd, hij geeft z'n configuratie aan en dat hij het op een andere manier heeft geprobeerd. Nu kunnen wij wel zeggen wat hij allemaal fout doet, maar als je dan niet laat zien hoe het wél moet, schiet hij er ook geen ruk mee op.

Oh, en ja; ik had absoluut geen zin al die query op een correcte wijze uit te schrijven, dat was ook niet de intentie van de vraag.

Ik ben totaal niet gediend van de negatieve manier waarop jij mij afschilderd en ik hoop dat je dit voortaan laat.
Verwijderd schreef op zaterdag 20 september 2008 @ 21:33:
Kijk dan nog eens naar de postgeschiedenis van de topicstarter, realiseer je dat het een asociale slacker is, en concludeer tot slot dat het het niet waard is om met iemand over te gaan bekvechten :*
Ok u heeft een punt :')

[ Voor 37% gewijzigd door krvabo op 20-09-2008 21:34 ]

Pong is probably the best designed shooter in the world.
It's the only one that is made so that if you camp, you die.


  • GiantLeap
  • Registratie: Oktober 2005
  • Laatst online: 15-11 00:41

GiantLeap

One GiantLeap for mankind

Topicstarter
Dat is idd een foutje van mij geweest. De reden waarom ik de hele code had gepost was omdat ik dacht dat het misschien wel in het formulier zat. Maar volgende keer zal ik hier zeker aan denken, ook de tips van whoami zal ik hierin meenemen. Toch bedankt voor jullie hulp :)

@Cartman!, dit is WEL hulpzaam, die code, die kan ik bekijken en dan zie ik, met mijn code ernaast, wat er anders is en waar het dus fout is gegaan. Dus ik vind net als krvabo, dat het niet echt vriendelijk is van je, maar dat is mijn mening.

[ Voor 31% gewijzigd door GiantLeap op 20-09-2008 21:36 ]

Mario Kart Tour: 211982902522
Rockstar Games Social Club (PC): GiantLeap

RC spul:
Traxxas Nitro Rustler
Hubsan X4 H107D
DJI Phantom 2 Vision+


Verwijderd

Kijk dan nog eens naar de postgeschiedenis van de topicstarter, realiseer je dat het een asociale slacker is, en concludeer tot slot dat het het niet waard is om met iemand over te gaan bekvechten :*

  • GiantLeap
  • Registratie: Oktober 2005
  • Laatst online: 15-11 00:41

GiantLeap

One GiantLeap for mankind

Topicstarter
Cheatah, ik probeer een nieuwe start te maken, het is een nieuw begin voor mij dus ik probeer me er ook voor in te zetten, waarin ik nu de tips van andere meeneem in volgende topics.

Mario Kart Tour: 211982902522
Rockstar Games Social Club (PC): GiantLeap

RC spul:
Traxxas Nitro Rustler
Hubsan X4 H107D
DJI Phantom 2 Vision+


  • Cartman!
  • Registratie: April 2000
  • Niet online
krvabo schreef op zaterdag 20 september 2008 @ 21:31:
Bull.
Ik geef het antwoord op de fout van één query. Hij zal alsnog de andere zelf moeten aanpassen.
De TS geeft aan wat hij heeft geprobeerd, hij geeft z'n configuratie aan en dat hij het op een andere manier heeft geprobeerd. Nu kunnen wij wel zeggen wat hij allemaal fout doet, maar als je dan niet laat zien hoe het wél moet, schiet hij er ook geen ruk mee op.

Oh, en ja; ik had absoluut geen zin al die query op een correcte wijze uit te schrijven, dat was ook niet de intentie van de vraag.

Ik ben totaal niet gediend van de negatieve manier waarop jij mij afschilderd en ik hoop dat je dit voortaan laat.


[...]


Ok u heeft een punt :')
Iets met lange tenen en een kort lontje... je doet of ik je heb staan afbranden maar ik heb alleen gezegd dat ik het dom vind dat je zonder uitleg een kant-en-klare oplossing hebt gegeven. Ik mag je daar best op wijzen imo.

Mijn punt is volgens mij duidelijk en ik denk dat je zelf hetzelfde had kunnen verzinnen. Uit eigen ervaring weet ik dat als je de oplossing eenmaal hebt je toch weinig meer gaat kijken naar de verschillen en daar heb je gewoon niets aan. En het resultaat echo-en is niet voldoende debuggen met database-gebruik.

MHz: al gekeken naar register_globals?

[ Voor 7% gewijzigd door Cartman! op 20-09-2008 21:47 ]


Verwijderd

Misschien is het ook nieuw voor je dat in een community het een kwestie is van geven en nemen. Als je alleen maar topics start, en vrijwel nooit reageert in andere topics, draag je bijzonder weinig bij aan de community. De enige keren dat je in andere topics hebt gereageerd, was dat om een vraag te stellen. De excuusjes mag je achterwege laten, die hebben we al vaak genoeg gehoord. De vriendelijkheid van andere forumleden komt vanzelf tevoorschijn als er een reden voor is.

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 06-09 00:37

curry684

left part of the evil twins

Lijkt me in ieder geval wel lachen als die code staat op een server zonder magic GPC quotes.

Professionele website nodig?


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 14:26

Creepy

Tactical Espionage Splatterer

Genoeg offtopic zo ;)
MHz: mocht je er nog steeds niet uitkomen dan kan je een nieuw topic openen maar let daarbij wel op de tips die Whoami je gegeven heeft. Maar gezien de tips die je hebt gekregen zou je er denk ik wel uit moeten kunnen komen.

[ Voor 21% gewijzigd door Creepy op 21-09-2008 16:32 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney

Pagina: 1

Dit topic is gesloten.