Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: nie działa skrypt php - gdzie zrobiłem błąd?
Forum PHP.pl > Forum > PHP
haribol
Witam.
Ostatnio mam problem z plikiem php obsługującym kupony promocyjne.
Ot kod:
  1. <?php
  2. session_start(); //start sesji
  3. if ((empty($_SESSION['user_id']) and empty($_SESSION['login'])) || (!$_SESSION['ranga']==2))
  4. {
  5. header('Location: login.php');
  6. }
  7. else {
  8. require_once('../connect.php');
  9. require_once('../functions.php');
  10. }
  11. ?>
  12.  
  13. <?php
  14. if(isset($_POST['submit'])) {
  15. $ext1 = mysql_query("SELECT * FROM `coupons` WHERE `code`='{$protectie['code']}' AND `used`='0'");
  16. $ext = mysql_fetch_object($ext1);
  17. if($ext->id != ""){
  18. mysql_query("UPDATE `user` SET `punkty`=`punkty`+'{$ext->punkty}' WHERE `id`='{$_SESSION['user_id']}'");
  19. mysql_query("UPDATE `coupons` SET `used`='1' WHERE `code`='{$protectie['code']}'");
  20. $mesaj = "<div class=\"msg\"><div class=\"msg success\">Success! You have received <b>{$ext->punkty} punkty</b>!</div></div>";
  21. }else{
  22. $mesaj = "<div class=\"msg\"><div class=\"error\">Kod nie istnieje lub jest użyty.</div></div>";
  23. }}
  24. ?>
  25. <div class="block medium right">
  26. <div class="top">
  27. <?if(isset($data->($_SESSION['login']))) {?>
  28. <h1>Potwierdz kupon<h1>
  29. </div>
  30. <div class="content"><? echo $mesaj; ?>
  31. <form method="post">
  32. <table class="form">
  33. <tr>
  34. <td width="150px"><b>Kod</b></td>
  35. <td>
  36. <input type="text" name="code" /><br />
  37. </td>
  38. </tr>
  39. <tr>
  40. <td></td>
  41. <td><input type="submit" name="submit" value="Send" /></td>
  42. </tr>
  43. </table>
  44. <div class="msg"><div class="info">If you have received an coupon code, you can validate it here.</div></div>
  45. </form>
  46. </div>
  47. </div>


Błąd polega na tym, że wartości nie dodają się do bazy, nad formularzem pojawia się "($_SESSION['login']))) {?> "

dołącze jeszcze plik connect.php:
  1. <?php
  2. mysql_connect ("localhost","root",""); //łącze z bazą [serwer bazy,użytkownik,hasło]
  3. mysql_select_db ("iloyal"); //nazwa bazy
  4.  
  5. //PONIŻEJ NIC NIE ZMIENIAĆ!
  6. mysql_query ("SET NAMES utf8"); //kodowanie znaków
  7. error_reporting (E_ALL ^ E_NOTICE); //wyłączenie raportowania notatek
  8. $ustawienia=mysql_fetch_array(mysql_query("SELECT * FROM conf"));
  9. session_start(); //start sesji
  10. ?>


dzięki z góry za pomoc
nospor
nie: <?
a: <?php
Pozmieniaj wszędzie gdzie tak masz
haribol
Cytat(nospor @ 18.12.2012, 16:02:06 ) *
nie: <?
a: <?php
Pozmieniaj wszędzie gdzie tak masz

pozmienialem na:
  1. <?php
  2. session_start(); //start sesji
  3. if ((empty($_SESSION['user_id']) and empty($_SESSION['login'])) || (!$_SESSION['ranga']==2))
  4. {
  5. header('Location: login.php');
  6. }
  7. else {
  8. require_once('../connect.php');
  9. require_once('../functions.php');
  10. }
  11. ?>
  12.  
  13. <?php
  14. if(isset($_POST['submit'])) {
  15. $ext1 = mysql_query("SELECT * FROM `coupons` WHERE `code`='{$protectie['code']}' AND `used`='0'");
  16. $ext = mysql_fetch_object($ext1);
  17. if($ext->id != ""){
  18. mysql_query("UPDATE `user` SET `punkty`=`punkty`+'{$ext->punkty}' WHERE `id`='{$_SESSION['user_id']}'");
  19. mysql_query("UPDATE `coupons` SET `used`='1' WHERE `code`='{$protectie['code']}'");
  20. $mesaj = "<div class=\"msg\"><div class=\"msg success\">Success! You have received <b>{$ext->punkty} punkty</b>!</div></div>";
  21. }else{
  22. $mesaj = "<div class=\"msg\"><div class=\"error\">Kod nie istnieje lub jest użyty.</div></div>";
  23. }}
  24. ?>
  25. <div class="block medium right">
  26. <div class="top">
  27. <?php if(isset($data->($_SESSION['login']))) {?>
  28. <h1>Potwierdz kupon<h1>
  29. </div>
  30. <div class="content"><? echo $mesaj; ?>
  31. <form method="post">
  32. <table class="form">
  33. <tr>
  34. <td width="150px"><b>Kod</b></td>
  35. <td>
  36. <input type="text" name="code" /><br />
  37. </td>
  38. </tr>
  39. <tr>
  40. <td></td>
  41. <td><input type="submit" name="submit" value="Send" /></td>
  42. </tr>
  43. </table>
  44. <div class="msg"><div class="info">If you have received an coupon code, you can validate it here.</div></div>
  45. </form>
  46. </div>
  47. </div>


i dodatkowo wyskoczyl mi bląd:
( ! ) SCREAM: Error suppression ignored for
( ! ) Parse error: syntax error, unexpected '(', expecting T_STRING or T_VARIABLE or '{' or '$' in C:\wamp\www\iloyal\admin\coupons.php on line 28
Szymciosek
Wydaje mi się, że zapomniałeś zamknąć instrukcji warunkowej if.
haribol
Cytat(Szymciosek @ 18.12.2012, 16:18:58 ) *
Wydaje mi się, że zapomniałeś zamknąć instrukcji warunkowej if.


  1. <?php
  2. session_start(); //start sesji
  3. if ((empty($_SESSION['user_id']) and empty($_SESSION['login'])) || (!$_SESSION['ranga']==2));
  4. {
  5. header('Location: login.php');
  6. }
  7. else {
  8. require_once('../connect.php');
  9. require_once('../functions.php');
  10. }
  11. ?>


i mam błąd:
( ! ) SCREAM: Error suppression ignored for
( ! ) Parse error: syntax error, unexpected T_ELSE in C:\wamp\www\iloyal\admin\coupons.php on line 8
nospor
Jakie pozmieniałeś.... przecież wyraźnie nadal widzę:
<? echo $mesaj; ?>

mówiłem wyraźnie: zamień wszystkie a nie pierwszy z brzegu...

if ((empty($_SESSION['user_id']) and empty($_SESSION['login'])) || (!$_SESSION['ranga']==2));
po co żes ten ; na koncu dał? Poprzednikowi chodziło o IF, który masz w środku. A zamknięcie polega na dodaniu } we właściwym miejscu

ps:
$data->($_SESSION['login'])
co to za konstrukcja? Przecież to też jest błędne. Nawet nie wiem co to ma niby robić.
Kofel
$data->${$_SESSION['login']}
haribol
ok. niby działa, formularz już się pojawił.
wyskakuje ten błąd: Notice: Undefined variable: kryset in C:\wamp\www\iloyal\admin\coupons.php on line 27
a jak wywalę tą linijke <?php if(isset($data->${$_SESSION['login']})) ?> ten błąd znika.

natomiast gdy wpisuje kod "xyz" jaki mam ustalony w bazie
http://scr.hu/0pa0/oob8v mam to

w tych linijkach coś nie gra:
  1. $ext1 = mysql_query("SELECT * FROM `coupons` WHERE `code`='{$protectie['code']}' AND `used`='0'");
  2. $ext = mysql_fetch_object($ext1);
  3. if($ext->id != "") {
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.