Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]if set problem, if set
Grzes978
post 9.09.2010, 19:37:27
Post #1





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 26.08.2010

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


witam napisałem sobie taki scrypcik

<?php
include("include/menu.php");

$host = 'localhost';
$user = 'planeta_test';
$passwort = 'planeta_test';
$baza = 'planeta_test';


if(is_set($_GET["v"])
$id=$_GET["v"]; // tutaj wywala bład na tej lini
else
$id=1;


$polaczenie = mysql_connect($host, $user, $passwort)
or die ( 'nie można sie połaczyć z MSQL');
$db = mysql_select_db($baza,$polaczenie);

$query=mysql_query("select id, videoTyp, title, videoId from video where id=$id limit 1",$db)
$result=mysql_fetch_row($query);


$id = $result[0]; // id filmu
$type = $result[1]; //typ filmu
$title = $result[2]; // title filmu
$videoid = $result[3]; // id filmu z URLA

echo( if ($type == 1)

$kod = '<object width="640" height="360">
<param name="allowfullscreen" value="true" />
<param name="allowscriptaccess" value="always" />
<param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id='.$videoid '&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" />
<embed src="http://vimeo.com/moogaloop.swf?clip_id='.$videoid '&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=&amp;fullscreen=1&amp;autoplay=1&amp;loop=0" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="640" height="360">
</embed>
</object>';
else
$kod = '<object width="480" height="385">
<param name="movie" value="http://www.youtube.com/v/'.$videoid '&amp;hl=pl_PL&amp;fs=1"></param>
<param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param>
<embed src="http://www.youtube.com/v/'.$videoid '&amp;hl=pl_PL&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385">
</embed>
</object>';
?>


<center>
<table>
<tr>
<td>
<a href=<?php echo '"./test.php?v=' . --$id .'" ';
$id+=2;
?>>Poprzedni film</a>
</td>
<td>
<?php
echo $kod.'<br/>';
echo $title;
?>
</td>
<td>
<a href=<?php echo '"./test.php?v=' . $id .'"'; ?>>Następny film</a>
</td>
</tr>
</table>
</center>

<?php
include("include/footer.php");
?>

i wywala mi bład na lini 25 czyli linijka pi if secie, nie wiem w czym jest rzecz

ma ktos pomysłquestionmark.gif?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 15)
Mostrom
post 9.09.2010, 19:40:00
Post #2





Grupa: Zarejestrowani
Postów: 83
Pomógł: 3
Dołączył: 17.04.2007

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


Chyba dlatego, że funkcja ta nie nazywa się is_set tylko isset, ale nie jest pewien.
Spróbuj tak:
  1. if(is_set($_GET["v"]){
  2. @$id=$_GET["v"]; }


Ten post edytował Mostrom 9.09.2010, 19:43:37
Go to the top of the page
+Quote Post
nospor
post 9.09.2010, 19:53:58
Post #3





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




To tez jest bardzo ciekawe:
echo( if ($type == 1)
smile.gif

@Grzes978
1) Zacznij uzywac bbcode
2) Jak wyswietla ci błąd to należy ten błąd dokładnie podać.
3) Zanim napiszesz kolejnego posta zastosuj się proszę do podanych tu porad:
Temat: Jak poprawnie zada pytanie


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Mostrom
post 9.09.2010, 19:57:37
Post #4





Grupa: Zarejestrowani
Postów: 83
Pomógł: 3
Dołączył: 17.04.2007

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


4) Naucz się liczyć, bo wg mnie linia 25 wypada jakoś tak właśnie na to co kolega podał, ale ja tam nie wiem ile linijek usunąłeś przed napisaniem posta biggrin.gif
Go to the top of the page
+Quote Post
bastard13
post 9.09.2010, 20:52:41
Post #5





Grupa: Zarejestrowani
Postów: 664
Pomógł: 169
Dołączył: 8.01.2010
Skąd: Kraków

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


  1. if(is_set($_GET["v"])

Na wszelki wypadek sprawdzałem jeszcze manuala, ale tam też nie ma nic o funkcji is_set. Zmień na isset().


--------------------
Go to the top of the page
+Quote Post
sadistic_son
post 10.09.2010, 00:06:30
Post #6





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


I domknij nawias okrągły!! isset ma domkniety nawias u Ciebie w kodzie ale if już nie!

if ( isset ($_GET['costam']) )

A błąd, który Ci wywala to błąd, że napotkano nieznany string T_STRING. Dzieje się tak bo kolejna linijka po if traktowana jest jako ciąg dalszy warunku logicznego if, a nie jako następne instrukcje. Właśnie przez brak domkniętego nawiasu!

Ten post edytował sadistic_son 10.09.2010, 00:09:09


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
Grzes978
post 10.09.2010, 08:19:17
Post #7





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 26.08.2010

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


[quote name='nospor' date='9.09.2010, 20:53:58 ' post='788120']
To tez jest bardzo ciekawe:
echo( if ($type == 1)
smile.gif

poprzednie linijki już poprawiłem i faktycznie teraz wywala mi tą linijkę którą zacytował nospor

w czym problem?
Go to the top of the page
+Quote Post
nospor
post 10.09.2010, 08:21:04
Post #8





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




Cytat
w czym problem?
W tym, ze nie raczyłeś wpierw przejrzeć podstaw php.
W echo nie wstawia się zadnych IF
To w IF robi się instrukcje
nie: echo (IF blabla)
a: if (cośtam) echo 'blabla';

http://pl2.php.net/manual/pl/control-structures.if.php


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Grzes978
post 10.09.2010, 08:21:40
Post #9





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 26.08.2010

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


no jasne echo jest niepotrzebne w tym momencie, ;-)
Go to the top of the page
+Quote Post
nospor
post 10.09.2010, 08:28:54
Post #10





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




Cytat
no jasne echo jest niepotrzebne w tym momencie, ;-)
To po co je dajesz? żeby ładniej wyglądało?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Grzes978
post 10.09.2010, 16:49:10
Post #11





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 26.08.2010

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


przeoczyłem, czasami tak jest że sie człowiek na coś gapi i nie widzi tego

ale ale, mam nowy orzech do rozgryzienia

otóż

mam cos takiego, co pokazuje że jesli zmienna GEt nie ma wartości to deafault jest 1, moje pytanie brzmi jak zrobić by dafault była ostatnia ID z bazy danych ID jest autoicrement

if(isset($_GET["v"]))
$id=$_GET["v"];
else
$id=1;

myślałem o czymś takim

if(isset($_GET["v"]))
$id=$_GET["v"];
else

$query1=mysql_query("SELECT id from video DESC limit 1",$polaczenie);
$wynik=mysql_result($query1);
$id=$wynik;

oczywiscie mam połaczenie z bazą

$host = 'localhost';
$user = 'planeta_test';
$passwort = 'planeta_test';
$baza = 'planeta_test';

$polaczenie = mysql_connect($host, $user, $passwort)
or die ( 'nie można sie połaczyć z MSQL');
$db = mysql_select_db($baza,$polaczenie)
or die ( 'nie można sie połaczyć z bazą');

niestety cos nie funga

może ma ktos pomysł na to

sorrki za upierdliwość ale na początku wszystko jest czarną magia,
Go to the top of the page
+Quote Post
Mostrom
post 10.09.2010, 17:10:56
Post #12





Grupa: Zarejestrowani
Postów: 83
Pomógł: 3
Dołączył: 17.04.2007

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


Czy użycie BBcode też jest czarną magią?

1)Instrukcje w ELSE też trzeba ująć w klamrach.
2)password pisze się z literką "d" na końcu ;p
3)Zmieniłem ci metodę połączenia z bazą, bo nie wiem czy zmienne będą działać w taki sposób, nie sprawdzałem (najwyżej zmienisz).
4)Z bazą łączysz się na początku kodu a nie na końcu!
5)Porządek w kodzie:

  1. $polaczenie = @mysql_connect("localhost", "planeta_test", "planeta_test") or die("Nie można nawiązać połączenia z bazą");
  2. $db = @mysql_select_db("planeta_test", $polaczenie) or die ("nie można sie połaczyć z bazą");
  3.  
  4.  
  5. if(isset($_GET["v"])){
  6. $id=$_GET["v"];
  7. }
  8. else{
  9. $query1=mysql_query("SELECT id from video DESC limit 1");
  10. $wynik=mysql_result($query1);
  11. $id=$wynik;
  12. }


Ten post edytował Mostrom 10.09.2010, 17:16:03
Go to the top of the page
+Quote Post
Grzes978
post 10.09.2010, 17:31:26
Post #13





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 26.08.2010

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


tak wygląda pełny kod a i tak wyskauje mi bład w linii 21 i 31

dokładnie taki

Warning: mysql_result() expects at least 2 parameters, 1 given in C:\wamp\www\test\proby.php on line 21

Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given in C:\wamp\www\test\proby.php on line 31


  1. <?php
  2. include("include/menu.php");
  3.  
  4. $host = 'localhost';
  5. $user = 'planeta_test';
  6. $passwort = 'planeta_test';
  7. $baza = 'planeta_test';
  8.  
  9. $polaczenie = mysql_connect($host, $user, $passwort)
  10. or die ( 'nie można sie połaczyć z MSQL');
  11. $db = mysql_select_db($baza,$polaczenie)
  12. or die ( 'nie można sie połaczyć z bazą');
  13.  
  14. if(isset($_GET["v"]))
  15. {
  16. $id=$_GET["v"];
  17. }
  18. else
  19. {
  20. $query1=mysql_query("SELECT id from video DESC limit 1",$polaczenie);
  21. $wynik=mysql_result($query1);
  22. $id=$wynik;
  23. }
  24.  
  25. $polaczenie = mysql_connect($host, $user, $passwort)
  26. or die ( 'nie można sie połaczyć z MSQL');
  27. $db = mysql_select_db($baza,$polaczenie)
  28. or die ( 'nie można sie połaczyć z bazą');
  29.  
  30. $query=mysql_query("SELECT id, videoType, title, videoId FROM video where id={$id} LIMIT 1",$polaczenie);
  31. $result=mysql_fetch_row($query);
  32.  
  33. $id = $result[0];
  34. $type = $result[1];
  35. $title = $result[2];
  36. $videoid = $result[3];
  37.  
  38. if ($type == 1)
  39.  
  40. $kod = '<object width="640" height="360">
  41. <param name="allowfullscreen" value="true" />
  42. <param name="allowscriptaccess" value="always" />
  43. <param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id='.$videoid. '&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" />
  44. <embed src="http://vimeo.com/moogaloop.swf?clip_id='.$videoid. '&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="640" height="360">
  45. </embed>
  46. </object>';
  47.  
  48. else
  49.  
  50. $kod = '<object width="480" height="385">
  51. <param name="movie" value="http://www.youtube.com/v/'.$videoid. '&amp;hl=pl_PL&amp;fs=1"></param>
  52. <param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param>
  53. <embed src="http://www.youtube.com/v/'.$videoid. '&amp;hl=pl_PL&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385">
  54. </embed>
  55. </object>';
  56. ?>
  57. <center>
  58. <table>
  59. <tr>
  60. <td>
  61. <a href=<?php echo '"./proby.php?v=' . --$id .'" ';
  62. $id+=2;
  63. ?>>Poprzedni film</a>
  64. </td>
  65. <td>
  66. <center>
  67. <?php
  68. echo $kod.'<br/>';
  69. echo $title;
  70. ?>
  71. </center>
  72. </td>
  73. <td>
  74. <a href=<?php echo '"./proby.php?v=' . $id .'"'; ?>>Następny film</a>
  75. </td>
  76. </tr>
  77. </table>
  78. </center>
  79.  
  80. <?php
  81. include("include/footer.php");
  82. ?>


Ten post edytował Grzes978 10.09.2010, 17:34:16
Go to the top of the page
+Quote Post
Mostrom
post 10.09.2010, 18:04:13
Post #14





Grupa: Zarejestrowani
Postów: 83
Pomógł: 3
Dołączył: 17.04.2007

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


Po co robisz to w każdym zapytaniu?:
  1. $polaczenie)


Twój kod jest strasznie pokręcony =] Takie rzeczy nie ułatwiają dobrze napisanego kodu:
  1. <a href=<?php echo '"./proby.php?v=' . --$id .'" ';
  2. $id+=2;
  3. ?>>Poprzedni film</a>


Pozatym nei możesz dwa razy łączyć się z bazą! Wywal to co drugi raz napisałeś:
  1. $polaczenie = mysql_connect($host, $user, $passwort)
  2. or die ( 'nie można sie połaczyć z MSQL');
  3. $db = mysql_select_db($baza,$polaczenie)
  4. or die ( 'nie można sie połaczyć z bazą');


A na końcu kodu pamiętaj o zakończeniu połączenia z bazą


Ten post edytował Mostrom 10.09.2010, 18:06:43
Go to the top of the page
+Quote Post
bastard13
post 10.09.2010, 18:14:09
Post #15





Grupa: Zarejestrowani
Postów: 664
Pomógł: 169
Dołączył: 8.01.2010
Skąd: Kraków

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


ad 1) funkcja mysql_result() przyjmuje dwa parametry: wynik zapytania i numer wiersza, opcjonalnie 3 - nr pola:
http://php.net/manual/pl/function.mysql-result.php

ad 2) dodaj sobie var_dump($query). W zmiennej nie masz obiektu z wynikiem tylko wartość boolowską. Pewnie źle jest skonstruowane zapytanie, ponieważ dla selecta mysql_query() zwraca bool, ale tylko false - gdy zapytanie jest niepoprawne. Sprawdź nazwy kolumn i tabeli.


--------------------
Go to the top of the page
+Quote Post
Grzes978
post 11.09.2010, 13:47:41
Post #16





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 26.08.2010

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


po wielu bojach wkońcu się udało dzieki wszystkim za pomoc
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 18:35