Nie dodaje news

Języki, których efekty są wykonywane po stronie serwera. PHP, ASP czy CGI w połączeniu z bazami danych SQL dają niezwykłe możliwości budowy i zarządzania stron WWW. Tu zadajemy pytania oraz demonstrujemy kod, z którym mamy problem.
interkurs
Posty: 10
Rejestracja: pt wrz 30, 2005 2:44 pm

Nie dodaje news

Post autor: interkurs »

Mam taki kod do dodawania newsow:

Kod: Zaznacz cały

<title>hotnews</title>
<?php
include("config.php");


  if($submit)
  {//begin of if($submit).
      // Set global variables to easier names
      $title = $_POST['title'];
      $text1 = $_POST['text1'];
      $text2 = $_POST['text2'];

              //check if (title) field is empty then print error message.
              if(!$title){  //this means If the title is really empty.
                     echo "Error: News title is a required field. Please fill it.";
                     exit(); //exit the script and don't do anything else.
              }// end of if

         //run the query which adds the data gathered from the form into the database
         $result = mysql_query("INSERT INTO news (title, dtime, text1, text2)
                       VALUES ('$title',NOW(),'$text1','$text2')",$connect);
          //print success message.
          echo "<b>Thank you! News added Successfully!<br>You'll be redirected to Home Page after (4) Seconds";
          echo "<meta http-equiv=Refresh content=4;url=index.php>";
  }//end of if($submit).


  // If the form has not been submitted, display it!
else
  {//begin of else

      ?>
      <br>
      <h3>::Add News</h3>

      <form method="post" action="<?php echo $PHP_SELF ?>">

      Title: <input name="title" size="40" maxlength="255">
      <br>
      Text1: <textarea name="text1"  rows="7" cols="30"></textarea>
      <br>
      Text2: <textarea name="text2" rows="7" cols="30"></textarea>
      <br>
      <input type="submit" name="submit" value="Add News">
      </form>
      <?
  }//end of else
  
?>

Niestety na lokalnym serwerze xampp nie dodaje news a na zdalnym jest wszystko ok, czy chodzi tu o wersje php, czy mysql ? Nie wiem o co tu chodzi ?
Prosze o pomoc, za która z góry dziękuję.
wi3dzmin
Nowy
Nowy
Posty: 20
Rejestracja: czw lis 02, 2006 4:09 pm
Kontakt:

Re: Nie dodaje news

Post autor: wi3dzmin »

możliwe, że konflikt wersji, sprawdź czy są takie same, no i podaj tutaj komunikat błedu jaki ci wywala.
123456
Zaczyna działać
Zaczyna działać
Posty: 514
Rejestracja: sob paź 28, 2006 1:19 pm

...

Post autor: 123456 »

Patrzac na sam poczatek
[php]<?php
if($submit)
?>[/php]

Musze stwierdzic ze na zdalnym serwerze masz wlaczona obsluge zmiennych globalnych, ktore sa pewnie wylaczone (i bardzo dobrze) na serwerze lokalnym. Wnioskuje to tym, iż nie masz żadnego przypisania jakichkolwiek danych do tej zmiennej (chyba ze czegos nie pokazales).
W zwiazku z zaistniałą sytuacją skrypt nie dziala.
interkurs
Posty: 10
Rejestracja: pt wrz 30, 2005 2:44 pm

Re: Nie dodaje news

Post autor: interkurs »

Dziękuję za pomoc. Faktycznie chodziło o register_globals w plikach php.ini ( XAMPP ma ich trzy), gdy zmieniłem z Off na On newsy są dodawane.
wi3dzmin
Nowy
Nowy
Posty: 20
Rejestracja: czw lis 02, 2006 4:09 pm
Kontakt:

Re: Nie dodaje news

Post autor: wi3dzmin »

lepiej było zmodyfikować skrypt, żeby działa na register globals, włączenie tej opcji może być dość niezbezpieczne, wtedy stosunkowo łatwo "zhakować" niezabezpieczone skrypty skrypty.
interkurs
Posty: 10
Rejestracja: pt wrz 30, 2005 2:44 pm

Re: Nie dodaje news

Post autor: interkurs »

A jak to zrbić na przykładzie powyższego skryptu ?
wi3dzmin
Nowy
Nowy
Posty: 20
Rejestracja: czw lis 02, 2006 4:09 pm
Kontakt:

Re: Nie dodaje news

Post autor: wi3dzmin »

pewien nie jestem ale tak najprościej to powinno się gdzieś u góry dodać

[php]
<?php
$submit = $_POST['submit'];
?>[/php]

I powinno działać :)[/code]
ODPOWIEDZ