Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> nie działa skrypt php - gdzie zrobiłem błąd?
haribol
post
Post #1





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 18.12.2012

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




nie: <?
a: <?php
Pozmieniaj wszędzie gdzie tak masz
Go to the top of the page
+Quote Post
haribol
post
Post #3





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 18.12.2012

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
Szymciosek
post
Post #4





Grupa: Zarejestrowani
Postów: 1 168
Pomógł: 126
Dołączył: 5.02.2010
Skąd: Świdnica

Ostrzeżenie: (0%)
-----


Wydaje mi się, że zapomniałeś zamknąć instrukcji warunkowej if.
Go to the top of the page
+Quote Post
haribol
post
Post #5





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 18.12.2012

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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ć.
Go to the top of the page
+Quote Post
Kofel
post
Post #7





Grupa: Zarejestrowani
Postów: 99
Pomógł: 22
Dołączył: 14.12.2007
Skąd: Wyszków

Ostrzeżenie: (0%)
-----


$data->${$_SESSION['login']}
Go to the top of the page
+Quote Post
haribol
post
Post #8





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 18.12.2012

Ostrzeżenie: (0%)
-----


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 != "") {


Ten post edytował haribol 18.12.2012, 20:41:16
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 11:04