login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Layout ID

Offline micasa001 - 26/08/2007 14:00
Avatar van micasa001PHP interesse Weet iemand wat ik hier fout doe:

  1. //update layout
  2. if( mysql_query("UPDATE leden SET layout='".mysql_escape_string($_POST['layout'])."' WHERE id=1 AND `id`= {$_SESSION['gid']}") ) {
  3. echo "Layout verandert! Ga opnieuw naar uw website adres vanaf de startpagina om te activeren.";
  4. } else {
  5. echo "Foutje: ". mysql_error();
  6. }


Zo wordt mijn site namelijk niet geladen. Ik wil dat de template wijzigd in de tabel: leden en dan afhankelijk van het ID in de sessions.

Als ik dit doe dan werkt het wijzigen van de layout wel, maar het probleem is dat dan alles wordt gewijzigd en niet alleen van 1 gebruiker:

  1. //update layout
  2. if( mysql_query("UPDATE leden SET layout='".mysql_escape_string($_POST['layout'])."' WHERE id=1 ) ) {
  3. echo "Layout verandert! Ga opnieuw naar uw website adres vanaf de startpagina om te activeren.";
  4. } else {
  5. echo "Foutje: ". mysql_error();
  6. }

10 antwoorden

Gesponsorde links
Offline Koen - 26/08/2007 14:06
Avatar van Koen PHP expert in de query op regel 2
  1. mysql_query("UPDATE leden SET layout='".mysql_escape_string($_POST['layout'])."' WHERE id=1 AND `id`= {$_SESSION['gid']}");

gebruik je twee keer de kolom ID is dit je bedoeling? 
Offline Bruud - 26/08/2007 14:07
Avatar van Bruud Nieuw lid id=1 AND `id`= {$_SESSION['gid']

moet je dat id=1 niet weg halen?? nu doet hij het alleen voor de user die id 1 heeft
Offline Dark_Paul - 26/08/2007 14:12 (laatste wijziging 26/08/2007 14:12)
Avatar van Dark_Paul PHP ver gevorderde WHERE id=1 AND `id`= {$_SESSION['gid']}
Ik weet niet wat je wilt bereiken, maar iets zegt me dat je het zo níet zal bereiken.
  1. mysql_query("QUERY MEUK WHERE id= ".$_SESSION['gid']." ")
Offline micasa001 - 26/08/2007 14:28
Avatar van micasa001 PHP interesse Dat was inderdaad fout ja, had 1x ID moeten zijn. Maar ik heb er nu het volgende van gemaakt maar het werkt nog steeds niet, blijf een blanco pagina krijgen.

  1. //update layout
  2. if( mysql_query("UPDATE leden SET layout='".mysql_escape_string($_POST['layout'])."' WHERE id= ".$_SESSION['gid']." ")
  3. echo "Layout verandert! Ga opnieuw naar uw website adres vanaf de startpagina om te activeren.";
  4. } else {
  5. echo "Foutje: ". mysql_error();
  6. }
  7.  
  8. }//einde verwerking
Offline ikki007 - 26/08/2007 14:31 (laatste wijziging 26/08/2007 14:31)
Avatar van ikki007 Gouden medailleGouden medaille

PHP ver gevorderde
  1. <?php
  2. include('config.php'); // Een connectie naar je database is noodzakelijk.
  3.  
  4. if(mysql_query("UPDATE leden SET layout='".mysql_escape_string($_POST['layout'])."' WHERE id= ".$_SESSION['gid']."")
  5. {
  6. echo "Layout verandert! Ga opnieuw naar uw website adres vanaf de startpagina om te activeren.";
  7. }
  8. else
  9. {
  10. echo "Foutje: ". mysql_error();
  11. }
  12.  
  13. ?>
Offline micasa001 - 26/08/2007 14:38
Avatar van micasa001 PHP interesse Nee dat werkt ook al niet, er wordt daarnaast al wel verbinding gemaakt met de db, dit werkt namelijk wel

  1. //update layout
  2. if( mysql_query("UPDATE leden SET layout='".mysql_escape_string($_POST['layout'])."' WHERE id=1") ) {
  3. echo "Layout verandert! Ga opnieuw naar uw website adres vanaf de startpagina om te activeren.";
  4. } else {
  5. echo "Foutje: ". mysql_error();
  6. }
  7.  
  8. }//einde verwerking


Probleem is hier alleen dat er wordt gekeken naar 1 ID, en ik wil dat de layout alleen wordt veranderd van het session ID.
Offline Koen - 26/08/2007 14:46
Avatar van Koen PHP expert
  1. //update layout
  2. $qry = mysql_query("UPDATE leden SET layout='".mysql_escape_string($_POST['layout'])."' WHERE id= ".$_SESSION['gid']."");
  3. if($qry) {
  4. echo "Layout verandert! Ga opnieuw naar uw website adres vanaf de startpagina om te activeren.";
  5. } else {
  6. echo "Foutje: Query: ".$qry." Error: ". mysql_error();
  7. }
  8.  
  9. }//einde verwerking

Probeer de query dan eens te echoën ?
post de query hier dan
Offline micasa001 - 26/08/2007 15:01
Avatar van micasa001 PHP interesse Als ik dat neerzet dan krijg ik geen foutmelding, er komt te staan:

Layout verandert! Ga opnieuw naar uw website adres vanaf de startpagina om te activeren.

Maar de layout is nu wel veranderd voor iedere beheerder. Er wordt dus nog steeds niet gekeken naar het session id.
Offline Koen - 26/08/2007 15:03
Avatar van Koen PHP expert waar set je $_SESSION['gid']?
Kan je dat stukje code even geven?
Offline micasa001 - 26/08/2007 15:13
Avatar van micasa001 PHP interesse Ik denk dat je dit stuk bedoeld:

  1. function check_login() {
  2. if(isset($_SESSION['loginwargame'],$_SESSION['IP']) && $_SESSION['IP'] == $_SERVER['REMOTE_ADDR']) {
  3. if(! isset($_COOKIE['loginwargame'],$_COOKIE['validate'])) {
  4. $validate = md5(rand(0,1000));
  5. setcookie("login",$_SESSION['loginwargame'],time()+60*60*24,"/","");
  6. setcookie("validate",$validate,time()+60*60*24,"/","");
  7. }
  8. else
  9. $validate = $_COOKIE['validate'];
  10. mysql_query("REPLACE INTO `[online]`(`time`,`IP`,`login`,`validate`) values(NOW(),'{$_SERVER['REMOTE_ADDR']}','{$_SESSION['loginwargame']}','$validate')");
  11. return TRUE;
  12. }
  13. else {
  14. if(isset($_COOKIE['login'],$_COOKIE['validate'])) {
  15. $login = $_COOKIE['login'];
  16. $validate = $_COOKIE['validate'];
  17. $query = mysql_query("SELECT * FROM `[online]` WHERE `login`='$login' AND `validate`='$validate' AND `IP`='{$_SERVER['REMOTE_ADDR']}' AND UNIX_TIMESTAMP(NOW())-UNIX_TIMESTAMP(`time`) < 60*60*24");
  18. if($user = mysql_fetch_object($query)) {
  19. mysql_query("UPDATE `[online]` SET `time`=NOW() WHERE `login`='$login' AND `validate`='$validate' AND `IP`='{$_SERVER['REMOTE_ADDR']}' AND UNIX_TIMESTAMP(NOW())-UNIX_TIMESTAMP(`time`) < 60*60*24");
  20. setcookie("login",$user->login,time()+60*60*24,"/","");
  21. setcookie("validate",$validate,time()+60*60*24,"/","");
  22.  
  23. $_SESSION['loginwargame'] = $user->login;
  24. $_SESSION['IP'] = $_SERVER['REMOTE_ADDR'];
  25. return TRUE;
  26. }
  27. else {
  28. unset($_SESSION['loginwargame']);
  29. unset($_SESSION['IP']);
  30. setcookie("login",'',time()-100,"/","");
  31. setcookie("validate",'',time()-100,"/","");
  32. return FALSE;
  33. }
  34. }
  35. else {
  36. unset($_SESSION['loginwargame']);
  37. unset($_SESSION['IP']);
  38. setcookie("login",'',time()-100,"/","");
  39. setcookie("validate",'',time()-100,"/","");
  40. return FALSE;
  41. }
  42. }
  43. }


Maar op al mijn overige pagina's werkt het allemaal goed met het session id. Ik probeer nu alleen een script uit een andere source van me in deze nieuwe te zetten maar het session Id krijg ik niet goed.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.266s