Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Problem ze skryptem php


adrian218

Rekomendowane odpowiedzi

Witam napisałem sobie system newsów na stronkę, utworzyłem nową podstronę z dodawaniem newsa . Problem mam z tym, że przy każdym odświeżeniu strony dodaje newsa nawet gdy formularz jest pusty a zapytanie mam takie:

 

$query = mysql_query("insert into news values('','".$_POST['tytul']."',now(),'".$_POST['autor']."','".$_POST['tresc']."')");

 

Domyślam się , że muszę dodać do kodu jakiś warunek który nie zezwoli na puste wysłanie zapytania do bazy tylko nie wiem co mądremu google wpisać.

Nie bądź pijawką. Rozwiązałeś problem? Podziel się rozwiązaniem na forum.

Małe jest piękne ale.... duże bardziej cieszy.

Odnośnik do komentarza
Udostępnij na innych stronach

<?php
if (query = mysql_query("insert into news values('','".$_POST['tytul']."',now(),'".$_POST['autor']."','".$_POST['tresc']."')");
{
instrukcje
}
?>

 

Coś takiego np ?

Nie bądź pijawką. Rozwiązałeś problem? Podziel się rozwiązaniem na forum.

Małe jest piękne ale.... duże bardziej cieszy.

Odnośnik do komentarza
Udostępnij na innych stronach

if (query = mysql_query("insert into news values('','".$_POST['tytul']."',now(),'".$_POST['autor']."','".$_POST['tresc']."')");)
{
echo 'Wysłano!';
}
else
{
echo 'Nie wysłano';
}

Nie bądź pijawką. Rozwiązałeś problem? Podziel się rozwiązaniem na forum.

Małe jest piękne ale.... duże bardziej cieszy.

Odnośnik do komentarza
Udostępnij na innych stronach

Zrobiłem tak i działa ale nie wiem czy poprawnie ale chyba skoro działa to tak miało być :P:

 

$tytul = $_POST["tytul"];
$autor = $_POST["autor"];
$tresc = $_POST["tresc"];
if (isset($_POST['send'])) {
        if (empty($tytul)) { 
                echo "Proszę wpisać tytuł newsa<br />";
}elseif (empty($autor)) {
                echo "Wprowadź autora newsa<br />";
}elseif (empty($tresc)) {
                echo "Nie wprowadzono tresci newsa lub jest ona zbyt krotka (min. 6 znakow).<br />";
}else {
echo "Twój news został wyslany. Dziekuje!";
$query = mysql_query("insert into news values('','".$_POST['tytul']."',now(),'".$_POST['autor']."','".$_POST['tresc']."')");
    }
}

Nie bądź pijawką. Rozwiązałeś problem? Podziel się rozwiązaniem na forum.

Małe jest piękne ale.... duże bardziej cieszy.

Odnośnik do komentarza
Udostępnij na innych stronach

Pomyślałem o tym ale coś mi nie trybi wywala błąd:

 

Parse error: syntax error, unexpected T_VARIABLE in /home/p359123/public_html/stronka/addnews.php on line 12

 

 

$tytul = htmlspecialchars(mysql_real_escape_string $_POST["tytul"]));
$autor = htmlspecialchars(mysql_real_escape_string $_POST["autor"]));
$tresc = htmlspecialchars(mysql_real_escape_string $_POST["tresc"]));
if (isset($_POST['send'])) {
        if (empty($tytul)) { 
                echo "Proszę wpisać tytuł newsa<br />";
}elseif (empty($autor)) {
                echo "Wprowadź autora newsa<br />";
}elseif (empty($tresc)) {
                echo "Nie wprowadzono tresci newsa lub jest ona zbyt krotka (min. 6 znakow).<br />";
}else {
echo "Twój news został wyslany. Dziekuje!";
$query = mysql_query("insert into news values('','".$_POST['tytul']."',now(),'".$_POST['autor']."','".$_POST['tresc']."')");
    }
}

Nie bądź pijawką. Rozwiązałeś problem? Podziel się rozwiązaniem na forum.

Małe jest piękne ale.... duże bardziej cieszy.

Odnośnik do komentarza
Udostępnij na innych stronach

Znalazłem droga dedukcji te brakujące france :D

$tytul = htmlspecialchars(mysql_real_escape_string ($_POST["tytul"]));
$autor = htmlspecialchars(mysql_real_escape_string ($_POST["autor"]));
$tresc = htmlspecialchars(mysql_real_escape_string ($_POST["tresc"]));

Nie bądź pijawką. Rozwiązałeś problem? Podziel się rozwiązaniem na forum.

Małe jest piękne ale.... duże bardziej cieszy.

Odnośnik do komentarza
Udostępnij na innych stronach

$query = mysql_query("insert into news values('','".htmlspecialchars(($_POST['tytul'].)"',now(),'".$_POST['autor']."','".$_POST['tresc']."')");

 

Kombinowałem tak ale chyba nie tędy droga.

Nie bądź pijawką. Rozwiązałeś problem? Podziel się rozwiązaniem na forum.

Małe jest piękne ale.... duże bardziej cieszy.

Odnośnik do komentarza
Udostępnij na innych stronach

Po co stworzyłeś i przefiltrowałeś te zmienne... skoro z ich nie wykorzystujesz? ;)

$tytul = htmlspecialchars(mysql_real_escape_string ($_POST["tytul"]));
$autor = htmlspecialchars(mysql_real_escape_string ($_POST["autor"]));
$tresc = htmlspecialchars(mysql_real_escape_string ($_POST["tresc"]));
Odnośnik do komentarza
Udostępnij na innych stronach

$query = htmlspecialchars(mysql_real_escape_string(mysql_query("insert into news values('','".$_POST['tytul']."',now(),'".$_POST['autor']."','".$_POST['tresc']."')")));
$result = mysql_query($query);

 

 

Zrobiłem tak ale nie wiem czy to jest poprawnie ?

Nie bądź pijawką. Rozwiązałeś problem? Podziel się rozwiązaniem na forum.

Małe jest piękne ale.... duże bardziej cieszy.

Odnośnik do komentarza
Udostępnij na innych stronach

Chryste... jak koniecznie chcesz na chama zapisywać:

$query = mysql_query("insert into news values('','".$tytul."',now(),'".$autor."','".$tresc."')");
Przecież w jakimś celu stworzyłeś i przefiltrowałeś te zmienne! Edytowane przez JamLasica
Odnośnik do komentarza
Udostępnij na innych stronach

Ok wszystko mi pięknie działa ale mam jeszcze jedno pytanie do was czy tak zabezpieczony skrypt ujdzie , czy takie zabezpieczenie jest marne ?

Nie bądź pijawką. Rozwiązałeś problem? Podziel się rozwiązaniem na forum.

Małe jest piękne ale.... duże bardziej cieszy.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.