login  Naam:   Wachtwoord: 
Registreer je!
 Forum

PHP Server versie

Offline Jeurdi - 02/06/2009 22:01 (laatste wijziging 02/06/2009 22:04)
Avatar van JeurdiNieuw lid Beste,

Ik wil een website online zetten maar het lukt mij niet om dit voor elkaar te krijgen. Op een domein die ik zelf leeg had liggen daarop werkt de website netjes. Maar als ik vervolgens de website wil verhuizen naar het domein van de klant is hij stuk. Komt dit door de server versie?

Het is namelijk deze : PHP Version 4.4.9
En ik gebruik deze statements


  1. <?php
  2. include('general.class.php');
  3. [b]$webshop = new webshop_general();
  4. $hoeveeldan = $webshop->countcat();[/b]
  5. echo' <body onLoad="startalles();clod('.$hoeveeldan.')" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">';
  6. ?>



Wat dikgedrukt is, daar breekt het systeem zijn nek over. Iemand een idee of dat komt door de server versie?

Gr. Jordi

15 antwoorden

Gesponsorde links
Offline Bart - 02/06/2009 22:02
Avatar van Bart PHP expert Code tags please en wat voor melding krijg je? Post je general.class.php eens (plaatscode.be)
Offline henver - 02/06/2009 22:03
Avatar van henver HTML gevorderde Waarschijnlijk light het aan je constructor van je classe.
Offline Jeurdi - 02/06/2009 22:05
Avatar van Jeurdi Nieuw lid Ja maar dit script werkt op een 6 domeinen. Alleen op dit domein niet... Dit geeft denk ik ook wel wat aan..?

Thx voor antwoorden
Offline Bart - 02/06/2009 22:07
Avatar van Bart PHP expert
Quicky schreef:
Code tags please en wat voor melding krijg je? Post je general.class.php eens (plaatscode.be)
.. Hoe moeten we je ooit helpen als je geen antwoord geeft op de vragen?
Offline Joost - 02/06/2009 22:08
Avatar van Joost PHP expert Het zou inderdaad aan de versie kunnen liggen, maar zonder enige errors of klassen kunnen we daar niks zinnigs over zeggen.
Offline Jeurdi - 02/06/2009 22:10 (laatste wijziging 02/06/2009 22:10)
Avatar van Jeurdi Nieuw lid Ik wil niet zómaar mijn grote general class plaatsen van mijn website. Dat is niet heel raar denk ik. Ik krijg geen error dat is het vreemde. Een witte pagina is het resultaat.

Als ik de volgende code dan in commentaar zet dan wordt de shop wel weergeven alleen zonder artikelen of iets.

  1. $webshop = new webshop_general();
  2. $hoeveeldan = $webshop->countcat();
Offline henver - 02/06/2009 22:12
Avatar van henver HTML gevorderde Waarom is het dan niet heel raar, is ie dan zo uniek?

Gebruik je in de class gebruik van __construct, __set, __destruct, ...?
Offline Jeurdi - 02/06/2009 22:17
Avatar van Jeurdi Nieuw lid Als je bij de dokter je poepert niet wilt laten zien, dan doe je dat dan toch ook niet zomaar ;) Ik vind het gewoon vreemd dat het op 6 domeinen werken op verschillende servers en nu ineens niet. Ik zal een deel plaatsen van mijn Class.

  1. class webshop_general
  2. {
  3. function webshop_general()
  4. {
  5. mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASSWORD);
  6. mysql_select_db(MYSQL_DATABASE);
  7.  
  8. if (IDEAL == true) {
  9. //Require IDEAL class too
  10. require_once ('ideal.class.php');
  11. }
  12.  
  13. $this->SessionHandler();
  14. }
  15. function SessionHandler()
  16. {
  17. //Create a session for the current visitor
  18. //if the visitor has no session yet
  19. if (!isset($_SESSION['userid'])) {
  20. //Generate a random key
  21. $keys = "abcdefghijklmnopqrstuvwxyz0987654321ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  22. $key = substr(str_shuffle($keys), 0, 25);
  23.  
  24. //Create session 'userid'
  25. $_SESSION['userid'] = $key;
  26.  
  27. //Set start (current) and expire dates
  28. // A session lasts for 5 minutes (300 seconden) max
  29. $start = date("U");
  30. $expire = $start + 3000;
  31.  
  32. //Set the session in the database
  33. mysql_query("INSERT INTO sessions (userid, start, expire) VALUES ('" . $key .
  34. "','" . $start . "','" . $expire . "')") or die(mysql_error());
  35. } else {
  36. //User already has a session, so update it
  37. // A session lasts for 5 minutes (300 seconden) max
  38. $expire = date("U") + 3000;
  39.  
  40. mysql_query("UPDATE sessions SET expire = '" . $expire . "' WHERE userid = '" .
  41. $_SESSION['userid'] . "'") or die(mysql_error());
  42. }
  43. //Now, check for obsolete sessions and carts
  44. $exire = date("U") + 3000;
  45. $sql = mysql_query("SELECT * FROM sessions WHERE expire < '" . $expire . "'") or die(mysql_error());
  46. while ($exp = mysql_fetch_array($sql)) {
  47. if (strlen($exp['userid']) == 25) {
  48. //Temporary, also empty cart
  49. mysql_query("DELETE FROM sessions WHERE session_id='" . $exp['session_id'] . "'");
  50. mysql_query("DELETE FROM cart WHERE userid='" . $exp['userid'] . "'");
  51. } else {
  52. //Logged in user, don't empty cart
  53. mysql_query("DELETE FROM sessions WHERE session_id='" . $exp['session_id'] . "'");
  54. mysql_query("DELETE FROM cart WHERE userid='" . $exp['userid'] . "'");
  55. }
  56. }
  57. }
  58. function GetCategories()
  59. {
  60. //Get the categories from the database
  61. $return = array();
  62. $sql = mysql_query("SELECT * FROM categories where subcat='' ORDER BY plaats ASC") or
  63. while ($arnum = mysql_fetch_array($sql)) {
  64. $return[$arnum['cat_id']] = $arnum['name'];
  65. }
  66.  
  67. return $return;
  68. }
  69. function GetCategoryName($cat_id)
  70. {
  71. //Get the name of the category belonging to the given ID
  72. $sql = mysql_query("SELECT name FROM categories WHERE cat_id='" . $cat_id . "'");
  73. $return = mysql_fetch_array($sql);
  74.  
  75. return $return['name'];
  76. }
  77. function GetProducts($cat_id)
  78. {
  79. //Get the products from the selected category
  80. $return = array();
  81. $i = 0;
  82. $sql = mysql_query("SELECT product_id FROM products WHERE cat_id='" . $cat_id .
  83. "' ORDER BY product_id ASC") or die(mysql_error());
  84.  
  85. while ($arnum = mysql_fetch_array($sql)) {
  86. $i++;
  87. $return[$i] = $arnum['product_id'];
  88. }
  89.  
  90. return $return;
  91. }
  92. function ProductDetails($product_id)
  93. {
  94. //Get the detailed information about the product
  95. $sql = mysql_query("SELECT * FROM products WHERE product_id = '" . $product_id .
  96. "'") or die(mysql_error());
  97. $array = mysql_fetch_array($sql);
  98.  
  99. return $array;
  100. }
  101. function AddToCart($product_id)
  102. {
  103. //Add the selected product to the visitor's cart
  104. $check = mysql_query("SELECT * FROM cart WHERE userid='" . $_SESSION['userid'] . "' AND product_id='" . $product_id . "'");
  105. if (!mysql_num_rows($check)) {
  106. //The product is not yet in the cart, add it
  107. mysql_query("INSERT INTO cart (userid, product_id, amount) VALUES ('" . $_SESSION['userid'] . "','" . $product_id . "','1')") or die(mysql_error());
  108. } else {
  109. //Product is already in the cart, add one more
  110. mysql_query("UPDATE cart SET amount = amount + 1 WHERE userid='" . $_SESSION['userid'] . "' AND product_id='" . $product_id . "'") or die(mysql_error());
  111. }
  112.  
  113. return true;
  114. }
  115. function GetCartInfo()
  116. {
  117. $return = array();
  118. $sql = mysql_query("SELECT product_id FROM cart WHERE userid = '" . $_SESSION['userid'] .
  119. "'") or die(mysql_error());
  120. $i = 0;
  121. while ($arnum = mysql_fetch_array($sql)) {
  122. $i++;
  123. $return[$i] = $arnum['product_id'];
  124. }
  125.  
  126. return $return;
  127. }
  128. function GetAmountInCart($product_id)
  129. {
  130. //Get the amount in the cart
  131. $sql = mysql_query("SELECT amount FROM cart WHERE userid='" . $_SESSION['userid'] .
  132. "' AND product_id='" . $product_id . "'") or die(mysql_error());
  133. $return = mysql_fetch_array($sql);
  134.  
  135. return $return['amount'];
  136. }
  137. function ProductsInCart()
  138. {
  139. //Get the amount of products in the cart
  140. $sql = mysql_query("SELECT cart_id FROM cart WHERE userid='" . $_SESSION['userid'] .
  141. "'");
  142.  
  143. return mysql_num_rows($sql);
  144. }
Offline Joost - 02/06/2009 22:18 (laatste wijziging 02/06/2009 22:21)
Avatar van Joost PHP expert
Jeurdi schreef:
Ik wil niet zómaar mijn grote general class plaatsen van mijn website. Dat is niet heel raar denk ik.
Mwah waarom? je vraagt ons naar een probleem/vraag te kijken, die we alleen kunnen oplossen/beantwoorden als we weten wat er in je general klasse staat. Anders zul je zelf moeten gaan onderzoeken, dan weten wij minder dan jij weet en kunnen we je niet helpen. Als je niet wilt dat we in die klasse mogen kijken, prima, snap het ook, maar dan is het gewoon niet te doen voor ons om je vraag te beantwoorden.


Heb je al geprobeerd om error_reporting(E_ALL) boven je pagina te zetten, zodat alle errors worden getoond?

------

Heb even je klasse bekeken, ik _verwacht_ dat het niet aan je klasse ligt, omdat je geen PHP5 specifieke OOP mogelijkheden gebruikt. Ik weet verder niet of jou precieze versie fouten kent op dat gebied, maar vermoedelijk niet. Probeer nog eens wat hierboven staat met error_reporting.
Offline Wim - 02/06/2009 22:26
Avatar van Wim Crew algemeen Mogelijk is de ideal classe php5 only. Kan je deze ook even posten?

Verder, wordt deze ergens in je script gebruikt? Zonee, dan kan je ze beter verwijderen uit je code.... (ik zie nl nergens dat ze gebruikt wordt)
Offline Jeurdi - 02/06/2009 22:26 (laatste wijziging 02/06/2009 22:55)
Avatar van Jeurdi Nieuw lid Oke ik heb het zojuist geprobeert en er komt geen error op de pagina. Als ik de URL intik dan dan blijft de pagina blanco en dan komt er geen error te voorschijn.

Is het denk je mogelijk bij de host: Bluehost om de server php versie te upgraden?

Gr. Jordi
Offline Koen - 02/06/2009 23:13
Avatar van Koen PHP expert Dat zal je met je hosting moeten bespreken 
Offline Wim - 02/06/2009 23:25
Avatar van Wim Crew algemeen
Jeurdi schreef:
Als ik de URL intik dan dan blijft de pagina blanco en dan komt er geen error te voorschijn.


Als je output verwacht (zeker bent dat deze er moet komen) kan je proberen dit in je ".htaccess"-bestand te plaatsen, het overschijft de php configuratie om wél errors te tonen: (apache webserver only, maar dat gaat bij bluehost wel het geval zijn vermoed ik)
  1. php_flag display_errors on


Verder, zoals koen al zei, gewoon even je host mailen. Vaak verplaatsen ze je gratis van server of rekenen ze bvb 5€ administratieve kosten aan.
Offline Threetimes - 03/06/2009 07:33
Avatar van Threetimes PHP beginner Ik zou van een host eisen dat ze php5 draaien, mischien kun je dat regelen? php4 is inmiddels oud en niet meer ondersteund.
Offline Jeurdi - 03/06/2009 09:27
Avatar van Jeurdi Nieuw lid Super bedankt allemaal ik ga ze even een emailtje sturen. Ook ga ik eventjes kijken wat wimmarien zegt, misschien dat er dan wel errors naar boven komen!

Groetjes Jordi
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.274s