Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
Problem z kodem - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Początkujący webmaster (https://www.webmastertalk.pl/forum-poczatkujacy-webmaster)
+--- Wątek: Problem z kodem (/thread-problem-z-kodem--4539)

Strony: 1 2


Problem z kodem - neneth - 28-07-2010

Witam, mam mały problem z kodem przekierowania do podstrony. Używam następujcego kodu:
<?php

$dozwolone=array('strona_glowna','dieta_odchudzajaca','dieta_1000','kopenhaska','anderson','hay','kwasniewski','cambridge','gerson','budwig','dukan','morze','southbeach','atkins','niskocholesterolowa','wapn','sod','hollywood','niskoenergetyczna','lekkostrawna','makrobiotyka','mayr','bircher','evers','chiny','1200kcal','celulit','stres','blekitna','czerwona','fiolet','zielona','zolta','blyskawiczna','diamond','france','francuska','hinduska','kekwicka','ketogeniczna','montignac','kosci','redukcyjna','rownowaga','bomba_witaminowa','gr0','grA','grB','grAB','wiosenna','lato','jesien','zima','ksiezyc','slonce','nowy_rok','swieta','weekend','jablko_ryz','bialko','grejpfrut','jogurt','kapusta','koktajl','mleko','sok','owoce','pszenica','twarog_ryz','ziemniaki','lod','aktywni','sportowcy','kulturysci','nastolatki','nastolatkowie','kosmonauta','szczupli','wysmukli','leniwi','zdrowie_uroda','odmlodzeni','oczyszczanie','wegetarianin','lasuchy','ciaza','matka','niecierpliwi','siedmiodniowa','stabilizacja','brzuch','komorka','wzrok','tradzik','cukrzyca1','cukrzyca2','cukrzycaII','ciaza_w_cukrzycy','zaparcia','jelito','bezglutenowa','bioskladniki','nowotwor','watroba','tarczyca','nerki','zatrucia','wrzody','miazdzyca','dna_moczanowa','krazenie','nadcisnienie','refluks','rekonwalescent','dziewczyna','3lata','20lat','30lat','40lat','starsi');
if(in_array($_GET['page'],$dozwolone)){
$name="$_GET[page].php";
}else{
$name='budowa.php';
}
if(file_exists('strony/'.$name)){
include('strony/'.$name);
}else{
echo'Strona w budowie';
}
?>


a to jest druga część kodu, żeby uruchamiała się strona główna

if(!isset($_GET['page'])){
include('strona_glowna.php');
}else{

}

i z nią mam problem, ponieważ nie wiem, w którym miejscu wkleić ten fragment kodu. Proszę o pomoc w tej sprawie.


RE: Problem z kodem - Pedro84 - 28-07-2010

1. Używaj BBCODE! Tego się czytać nie da!
2. W pliku index.php? Przed napisaniem postu wypadałoby chociaż pomyśleć.


RE: Problem z kodem - skarabe.pl - 30-07-2010

W tym pustym 'else' powinna być cała poprzednia treść skryptu, tj. od "$dozwolone" do ostatniego nawiasu klamrowego przed ?>


RE: Problem z kodem - neneth - 30-07-2010

(30-07-2010, 03:12)skarabe.pl napisał(a): W tym pustym 'else' powinna być cała poprzednia treść skryptu, tj. od "$dozwolone" do ostatniego nawiasu klamrowego przed ?>

<?page
if(!isset($_GET['page'])){
include('strona_glowna.php');
}else{

$dozwolone=array('formularz','strona_glowna','dieta_odchudzajaca','dieta_1000','kopenhaska','anderson','hay','kwasniewski','cambridge','gerson','budwig','dukan','morze','southbeach','atkins','niskocholesterolowa','wapn','sod','hollywood','niskoenergetyczna','lekkostrawna','makrobiotyka','mayr','bircher','evers','chiny','1200kcal','celulit','stres','blekitna','czerwona','fiolet','zielona','zolta','blyskawiczna','diamond','france','francuska','hinduska','kekwicka','ketogeniczna','montignac','kosci','redukcyjna','rownowaga','bomba_witaminowa','gr0','grA','grB','grAB','wiosenna','lato','jesien','zima','ksiezyc','slonce','nowy_rok','swieta','weekend','jablko_ryz','bialko','grejpfrut','jogurt','kapusta','koktajl','mleko','sok','owoce','pszenica','twarog_ryz','ziemniaki','lod','aktywni','sportowcy','kulturysci','nastolatki','nastolatkowie','kosmonauta','szczupli','wysmukli','leniwi','zdrowie_uroda','odmlodzeni','oczyszczanie','wegetarianin','lasuchy','ciaza','matka','niecierpliwi','siedmiodniowa','stabilizacja','brzuch','komorka','wzrok','tradzik','cukrzyca1','cukrzyca2','cukrzycaII','ciaza_w_cukrzycy','zaparcia','jelito','bezglutenowa','bioskladniki','nowotwor','watroba','tarczyca','nerki','zatrucia','wrzody','miazdzyca','dna_moczanowa','krazenie','nadcisnienie','refluks','rekonwalescent','dziewczyna','3lata','20lat','30lat','40lat','starsi');
if(in_array($_GET['page'],$dozwolone)){
$name="$_GET[page].php";
}else{
$name='budowa.php';
}
if(file_exists('strony/'.$name)){
include('strony/'.$name);
}else{
echo'Strona w budowie';
}

}
?>
Tak właśnie zrobiłam i w 1. wersie błąd się pojawił. Czego brakuje? Czy ktoś może pomóc? Proszę, to dla mnie bardzo ważne


RE: Problem z kodem - skarabe.pl - 30-07-2010

A co to jest za potworek '<?page'? Chyba powinno być '<?php'? :)


RE: Problem z kodem - neneth - 30-07-2010

(30-07-2010, 16:44)skarabe.pl napisał(a): A co to jest za potworek '<?page'? Chyba powinno być '<?php'? Smile

<?php
if(!isset($_GET['page'])){
include('strona_glowna.php');
}else
$dozwolone=array('formularz','strona_glowna','dieta_odchudzajaca','dieta_1000','kopenhaska','anderson','hay','kwasniewski','cambridge','gerson','budwig','dukan','morze','southbeach','atkins','niskocholesterolowa','wapn','sod','hollywood','niskoenergetyczna','lekkostrawna','makrobiotyka','mayr','bircher','evers','chiny','1200kcal','celulit','stres','blekitna','czerwona','fiolet','zielona','zolta','blyskawiczna','diamond','france','francuska','hinduska','kekwicka','ketogeniczna','montignac','kosci','redukcyjna','rownowaga','bomba_witaminowa','gr0','grA','grB','grAB','wiosenna','lato','jesien','zima','ksiezyc','slonce','nowy_rok','swieta','weekend','jablko_ryz','bialko','grejpfrut','jogurt','kapusta','koktajl','mleko','sok','owoce','pszenica','twarog_ryz','ziemniaki','lod','aktywni','sportowcy','kulturysci','nastolatki','nastolatkowie','kosmonauta','szczupli','wysmukli','leniwi','zdrowie_uroda','odmlodzeni','oczyszczanie','wegetarianin','lasuchy','ciaza','matka','niecierpliwi','siedmiodniowa','stabilizacja','brzuch','komorka','wzrok','tradzik','cukrzyca1','cukrzyca2','cukrzycaII','ciaza_w_cukrzycy','zaparcia','jelito','bezglutenowa','bioskladniki','nowotwor','watroba','tarczyca','nerki','zatrucia','wrzody','miazdzyca','dna_moczanowa','krazenie','nadcisnienie','refluks','rekonwalescent','dziewczyna','3lata','20lat','30lat','40lat','starsi');
if(in_array($_GET['page'],$dozwolone)){
$name="$_GET[page].php";
}else{
$name='budowa.php';
}
if(file_exists('strony/'.$name)){
include('strony/'.$name);
}else{
echo'Strona w budowie';
}


?>
Dziękuję za poprzednią podpowiedź. To było zwykłe niedopatrzenie. Teraz jednak mam problem w includowaniu (3. wers):

<?php
if(!isset($_GET['page'])){
include('strona_glowna.php');
}else
$dozwolone=array('formularz','strona_glowna','dieta_odchudzajaca','dieta_1000','kopenhaska','anderson','hay','kwasniewski','cambridge','gerson','budwig','dukan','morze','southbeach','atkins','niskocholesterolowa','wapn','sod','hollywood','niskoenergetyczna','lekkostrawna','makrobiotyka','mayr','bircher','evers','chiny','1200kcal','celulit','stres','blekitna','czerwona','fiolet','zielona','zolta','blyskawiczna','diamond','france','francuska','hinduska','kekwicka','ketogeniczna','montignac','kosci','redukcyjna','rownowaga','bomba_witaminowa','gr0','grA','grB','grAB','wiosenna','lato','jesien','zima','ksiezyc','slonce','nowy_rok','swieta','weekend','jablko_ryz','bialko','grejpfrut','jogurt','kapusta','koktajl','mleko','sok','owoce','pszenica','twarog_ryz','ziemniaki','lod','aktywni','sportowcy','kulturysci','nastolatki','nastolatkowie','kosmonauta','szczupli','wysmukli','leniwi','zdrowie_uroda','odmlodzeni','oczyszczanie','wegetarianin','lasuchy','ciaza','matka','niecierpliwi','siedmiodniowa','stabilizacja','brzuch','komorka','wzrok','tradzik','cukrzyca1','cukrzyca2','cukrzycaII','ciaza_w_cukrzycy','zaparcia','jelito','bezglutenowa','bioskladniki','nowotwor','watroba','tarczyca','nerki','zatrucia','wrzody','miazdzyca','dna_moczanowa','krazenie','nadcisnienie','refluks','rekonwalescent','dziewczyna','3lata','20lat','30lat','40lat','starsi');
if(in_array($_GET['page'],$dozwolone)){
$name="$_GET[page].php";
}else{
$name='budowa.php';
}
if(file_exists('strony/'.$name)){
include('strony/'.$name);
}else{
echo'Strona w budowie';
}


?>


RE: Problem z kodem - skarabe.pl - 30-07-2010

Ale jaki problem? Może powinno być
Kod PHP:
include('strony/strona_glowna.php'); 
?


RE: Problem z kodem - neneth - 30-07-2010

(30-07-2010, 17:07)skarabe.pl napisał(a): Ale jaki problem? Może powinno być
Kod PHP:
include('strony/strona_glowna.php'); 
?

Bardzo dziękuję. Działa
(30-07-2010, 17:11)neneth napisał(a):
(30-07-2010, 17:07)skarabe.pl napisał(a): Ale jaki problem? Może powinno być
Kod PHP:
include('strony/strona_glowna.php'); 
?

Bardzo dziękuję. Działa

A czy możesz mi pomóc jeszcze w jednej rzeczy. Mam gotowy skrypt sondy, ale nie wiem, jak go zamieścić w kodzie, żeby działał w divie. Zrobiłam tabelę w mysql, ale nie mogę sobie poradzić z kodem. Próbowałam wszystkiego, ale coś robię nie tak. Będę wdzięczna za pomoc. Oto kod:

<?php
session_start(); //zaczynamy sessje
if (!($sql=mysql_connect ('localhost','login', 'haslo') && mysql_select_db('baza') )) echo'błąd'; // łączymy się z serwerem i wybieramy daną baze.
if($_GET['strona']!='panel'){
$wynik=mysql_query("SELECT * FROM `ankieta` ORDER BY `id` DESC LIMIT 0,1 "); //pobieramy z bazy najnowsza ankiete
$dane=mysql_fetch_array($wynik); // Pobrane informacje wpisujemy do zmiennej
$odpowiedzi=explode("|",$dane['odpowiedzi']); // Nasze odpowiedzi w ankiecie są w postaci odpowiedz1|odpowiedz2| itd... rozdzielamy je i wpisujemy od nowej zmiennej w postaci tabeli
$ilosc=explode("|", $dane['glosy']); // analogicznie tylko że głosy sumaGłosów1|sumaGłosów2| itd.
foreach($ilosc as $wartosc) // lecimy po kolejnych rekordach po tabeli
$glosy=$glosy+$wartosc; // sumujemy ilość wszystkich oddanych głosów
if($glosy==0) //zeby nie miec dzielenia przez zero
$glosy=1;
if(strpos($dane['ip'], $_SERVER['REMOTE_ADDR'])!=FALSE ) // sprawdzamy czy dany adres IP już odpowiedział
$odpowiedzial=true;
else
$odpowiedzial=false;
if(isset($_POST['ankieta']) && !$odpowiedzial){ // jeśli nie odpowiedział i wysłał głos, to ten glos jest dodawany do bazy
$ilosc[$_POST['ankieta']]++; // Powiększamy dany rekord o nowo dodany głos.
$ilosc2=implode('|', $ilosc); // łączymy z powrotem w jedną zmienną całą naszą tabele i oddzielamy |
if(!mysql_query("UPDATE `ankieta` SET `glosy` = '$ilosc2', `ip` = '".$dane['ip']."|".$_SERVER['REMOTE_ADDR']."' WHERE `id` ='".$dane['id']."';")) // Formalnie dodajemy głos do bazy
echo"Twój głos nie został zliczony. Spróbuj ponownie";
else
echo'dziekujemy za oddanie glosu';
}
if($odpowiedzial || isset($_POST['ankieta'])){ //jesli odpowiedział na ankiete wypisujemy wyniki
foreach($odpowiedzi as $key=>$wartosc)
echo $odpowiedzi[$key].':'.(100*$ilosc[$key])/$glosy.'%<br>'; //wyniki w procentach
}else{
echo $dane['pytanie'].'<form action="" method="post">';
foreach($odpowiedzi as $key=>$wartosc)
echo'<input type="radio" name="ankieta" value="'.$key.'">'.$wartosc; //inaczej formularz do zagłosowania
echo'<input type="submit"/></form>';
}
}else{
if($_POST['haslo']=='tajnehaslo' || $_SESSION['haslo']=='tajnehaslo'){ //sprawdzamy czy podalismy dobre haslo i czy jestesmy zalogowani. W tym rpzypadku naszym haslem jest tajnehaslo
if(empty($_SESSION['haslo'])) $_SESSION['haslo']=$_POST['haslo']; //przypisujemy haslo do sessji to opisze kiedys indziej. ale w skrocie sessja to taka zmienna ktora jest przechowywana u nas w przegladarce.
if(isset($_POST['pytanie']) && isset($_POST['odpowiedzi']['1']) && isset($_POST['odpowiedzi']['2'])){ //sprawdzamy czy dobrze admin wypiełnił pola
$odpowiedzi=implode('|', $_POST['odpowiedzi']); //łączymy odpowiedzi w jedną zmienną
foreach($_POST['odpowiedzi']as $wartosc)
$glosy.='0|'; //zerujemy glosy
if(mysql_query("INSERT INTO `ankieta` (`id` ,`pytanie` ,`odpowiedzi` ,`glosy`)VALUES (NULL , '".$_POST['pytanie']."', '$odpowiedzi', '$glosy');")) // zapisujemy pytanie i odpowiedzi do bazy
echo'Dodano nowe pytanie';
else
echo'Nie dodano nowego pytania';
}else{
echo'<form action="" method="post">Pytanie:<input type="text" name="pytanie"><br>odpowiedzi:<input type="text" name="odpowiedzi[1]"><input type="text" name="odpowiedzi[2]"><input type="text" name="odpowiedzi[3]"><input type="submit"/></form>'; //Formularz jak chcemy mieć więcej odpowiedzi to tworzymy nastepne pola analogicznie
}
}else{
echo'<form action="" method="post"><input type="password" name="haslo"><input type="submit"/></form>'; //miejsce do wpisania hasla jesli nie jestesmy zalogowani
}
}
echo'<a href="http://webcafe.com.pl">Blog webmastera</a>';
?>

I mam jeszcze jedno pytanie: czy można w tej ostatniej linijce zlikwidować linka do strony www.webcafe.com.pl ?


RE: Problem z kodem - skarabe.pl - 30-07-2010

(30-07-2010, 17:11)neneth napisał(a): A czy możesz mi pomóc jeszcze w jednej rzeczy. Mam gotowy skrypt sondy, ale nie wiem, jak go zamieścić w kodzie, żeby działał w divie. Zrobiłam tabelę w mysql, ale nie mogę sobie poradzić z kodem. Próbowałam wszystkiego, ale coś robię nie tak. Będę wdzięczna za pomoc. Oto kod:
Z czym konkretnie masz problem? Ankieta się nie wyświetla? Tak na szybko przeglądając kod to są dwie rzeczy do poprawki:
1.
Kod PHP:
// jest
if(strpos($dane['ip'], $_SERVER['REMOTE_ADDR'])!=FALSE )
// powinno byc
if(strpos($dane['ip'], $_SERVER['REMOTE_ADDR'])!==FALSE )
// lub
if($dane['ip'] === $_SERVER['REMOTE_ADDR']) 
2.
Kod PHP:
// jest
foreach($_POST['odpowiedzi']as $wartosc)
    
$glosy.='0|'//zerujemy glosy
// powinno byc
foreach($_POST['odpowiedzi']as $wartosc)
    
$glosy.='0|'//zerujemy glosy
$glosy rtrim($glosy'|'); 
(30-07-2010, 17:11)neneth napisał(a): I mam jeszcze jedno pytanie: czy można w tej ostatniej linijce zlikwidować linka do strony www.webcafe.com.pl ?
Jeżeli autor tego kodu się nie obrazi, to nie widzę przeszkód :)


RE: Problem z kodem - neneth - 30-07-2010

(30-07-2010, 17:33)skarabe.pl napisał(a):
(30-07-2010, 17:11)neneth napisał(a): A czy możesz mi pomóc jeszcze w jednej rzeczy. Mam gotowy skrypt sondy, ale nie wiem, jak go zamieścić w kodzie, żeby działał w divie. Zrobiłam tabelę w mysql, ale nie mogę sobie poradzić z kodem. Próbowałam wszystkiego, ale coś robię nie tak. Będę wdzięczna za pomoc. Oto kod:
Z czym konkretnie masz problem? Ankieta się nie wyświetla? Tak na szybko przeglądając kod to są dwie rzeczy do poprawki:
1.
Kod PHP:
// jest
if(strpos($dane['ip'], $_SERVER['REMOTE_ADDR'])!=FALSE )
// powinno byc
if(strpos($dane['ip'], $_SERVER['REMOTE_ADDR'])!==FALSE )
// lub
if($dane['ip'] === $_SERVER['REMOTE_ADDR']) 
2.
Kod PHP:
// jest
foreach($_POST['odpowiedzi']as $wartosc)
    
$glosy.='0|'//zerujemy glosy
// powinno byc
foreach($_POST['odpowiedzi']as $wartosc)
    
$glosy.='0|'//zerujemy glosy
$glosy rtrim($glosy'|'); 
(30-07-2010, 17:11)neneth napisał(a): I mam jeszcze jedno pytanie: czy można w tej ostatniej linijce zlikwidować linka do strony www.webcafe.com.pl ?
Jeżeli autor tego kodu się nie obrazi, to nie widzę przeszkód Smile

Dziękuję za te poprawki, ale mnie jeszcze chodziło o to, czy cały kod umieścić w pliku index.php czy w osobny pliku i w jaki sposób to includować. Proszę o jakieś konkretne rozwiązanie. Z góry dziękuję.