login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Select + Formulier probleem. (Opgelost)

Offline Erwt - 26/06/2008 11:35 (laatste wijziging 26/06/2008 15:52)
Avatar van ErwtPHP beginner Hej allemaal, sorry voor de rare titel maar ik heb GEEN idee hoe ik dit anders moet noemen.. 

Ik heb een menu in mijn database staan met (id,naam,stijl,plaats,rechten). Bij het kopje rechten dan gaat het mis. Ik heb een lijstje met menu items op mijn beeld dus bijvoorbeeld:

----------------------------
1,Home,Boven,Iedereen
2,Admin,Onder,Alleen voor admin
----------------------------

En als ik in die lijst dan Alleen voor admin wijzig naar Alleen voor ingelogden dan wijzigt de 1e ook meteen mee.. ik heb wel aparte forms gebruikt en ook als naam "formnaam" . $formnummer; gebruikt.

Plaatscode: klik hieroud
Pastebin: klik hiernieuwe

Alvast bedankt,

11 antwoorden

Gesponsorde links
Offline djb - 26/06/2008 11:44
Avatar van djb PHP beginner hooi,,
ik heb even gegeken maar ik zie de fout nog niett 
wel zie ik dat je soms wat niet goed escaped (of hoe je het ook schrijft)
bijvoorbeeld:
  1. echo "<td><input style="width: 10px;" type="text" name="plaats" . $i . "" value="" . $row["plaats"] . ""></td>";

wordt:
  1. echo "<td><input style=\"width: 10px;\" type=\"text\" name=\"plaats" . $i . "\" value=\"" . $row["plaats"] . "\"></td>";


heel meschien heeft dat er wat mee te maken 
of kijk eens met print_r($_POST); of daar iets mis in ging 
groetjess
Offline Martijn - 26/06/2008 12:35 (laatste wijziging 26/06/2008 12:37)
Avatar van Martijn Crew PHP dat is een plaatscode bugje en anders moet je t wel ff doen ik zal ff kijken

je hebt
  1. <option $selected3 value="3">

2 dingen fout
een variabel meot je escapen, en de waarde ('selected') is ook fout, dat moet selected='selected' zijn.

  1. echo"<option ".$selected3." value='3'>";
Offline Erwt - 26/06/2008 12:49 (laatste wijziging 26/06/2008 13:17)
Avatar van Erwt PHP beginner Ik ga het direct aanpassen.

@djb: Ja dit licht aan plaatscode ;)
@DeviourSoul ik ga het direct bekijken, wel dom van me als dit ook echt zo zou zijn, daarna reply ik weer ;)

// Edit:

Ik heb getest maar hij doet nog steeds niet, het probleem is dat als ik nummer 3 wijzig.. dat alles dan wel doet omdat dat de laatste is.
Als ik nummer 1 wijzig dan wijzigt hij nummer 2 en 3 ook meteen in de waarde van nummer 1. 
Offline djb - 26/06/2008 13:39
Avatar van djb PHP beginner dan heb ik niks gezegd over die bug 

maar doe eens:
  1. echo "<pre>";
  2. print_r($_POST);
  3. echo "</pre>";


heel misschien worden we dan wat wijzer 
want je code ziet er voor zover ik zie goed uit 
Offline Ontani - 26/06/2008 13:49
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
misschien ook een idee welke items je gaat updaten. Je doet een select zonder where. Nogal logisch dat ze allemaal geupdate worden.
Offline Martijn - 26/06/2008 14:19
Avatar van Martijn Crew PHP ik zit trouwens ook al de hele tijd met de gedachte dat selected=selected helemaal niet werkt, of in IE of in FF. Maar dat weet ik niet zeker
Offline djb - 26/06/2008 14:34
Avatar van djb PHP beginner @ontani bij een bij select update je je tabel niet he dan selecteer je gewoon alles van die tabel 
regel 10 is de update regel:
  1. $query2 = "UPDATE `menu` SET `naam` = '" . $_POST["naam" . $i] . "', `stijl` = '" . $_POST["stijl" . $i] . "', `plaats` = '" . $_POST["plaats" . $i] . "', `rechten` = '" . $_POST["rechten" . $i] . "' WHERE `id` = '" . $row["id"] . "'";

daar update hij dus de rij waar id gelijk is aan $row['id'] 
dat lijkt mij goed 
Offline Ontani - 26/06/2008 15:06
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
had over die $i in de $_POST gekeken anders zou voor elke record dezelfde waardes worden ingevuld.

Laat je huidige code eens zien want het is moeilijk om over de fouten in de code op pastebin te kijken.
Offline Erwt - 26/06/2008 15:16 (laatste wijziging 26/06/2008 15:24)
Avatar van Erwt PHP beginner Ikzelf snap niks meer van het probleem, het lijkt net of hij het soms doet, maar hij doet het dan toch weer niet.. Het lijkt net of hij niet steeds dezelfde fout weergeeft maar dat kan ook aan mij liggen want ik zie het allemaal nogal draaien 

Over dat selected is niet zo moeilijk, als je goed kijkt heb ik 2x een <select> en daarbij werkt hij wel 

@Ontani, Ik snap je niet helemaal, plaatscode is lastig? hoe wil je het dan? 

En dit is wat ik krijg uit die print_r($_POST):
  1. (
  2. [plaats0] => 1
  3. [naam0] => Home
  4. [stijl0] => Onder
  5. [rechten0] => 2
  6. [plaats1] => 2
  7. [naam1] => Gastenboek
  8. [stijl1] => Boven
  9. [rechten1] => 4
  10. [plaats2] => 3
  11. [naam2] => Contact
  12. [stijl2] => Recht
  13. [rechten2] => 4
  14. [editmenu] => Wijzigen
  15. )


Edit: Ik heb 3 menu items, als ik bij de 1e de laatste opzie kies (Admin=4) en ik neem bij 2e en 3e iets wat eronder zit dan pakt hij nummer 4, als dat nummer niet hoger is doet hij dat niet.
Offline Ontani - 26/06/2008 15:36
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
plaats de code die je nu gebruikt eens op pastebin.be of plaatscode.be de code uit je eerste post zit vol fouten die je er normaal gezien al uitgehaald hebt.
Offline Erwt - 26/06/2008 15:48 (laatste wijziging 27/06/2008 09:00)
Avatar van Erwt PHP beginner Vol met fouten? behalve dat ik 3 variabeles ge'escaped heb (wat wel werkte) en dat plaatscode alle variabelen niet escaped doet hij gewoon. Ik zal hem even uploaden op pastebin.be:

http://pastebin.be/12434

Je kan trouwens die print_r($_POST) en die pre's weghalen die heb ik eerder al gepost 

edit: Ik wil ook wel de hele website aanbieden om te kijken hoe het komt, maar zet liever geen link van de hele website hier zo maar neer 

edit: Ik kwam erachter dat hij het goede wel in de database zet, maar niet eruit haalt ;)

edit: Gefixt, ik heb in plaats van met die $selected gewoon 4 aparte select's gemaakt.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.259s