• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wysyłanie dany z formularza do bazy danych

Object Storage Arubacloud
+1 głos
1,821 wizyt
pytanie zadane 6 września 2015 w SQL, bazy danych przez D3v0 Początkujący (350 p.)

Mam problem z wysłaniem danch z folmularza 

index.php

<?php
        
    session_start();
    if ((isset($SESSION['zalogowany']))&&($_SESSION['zalogowany']==true))
?>
<!DOCTYPE HTML>
<html lang="PL">
<head>
    <title>Storona testowa</title>
    <meta charset="utf-8" />
    <link rel="stylesheet" type="text/css" href="style.css"/>
</head>
<body>
    
    <div class="logtop">
        <form action="zaloguj.php" method="post" >
           
            Login <input type="text" name="login" />
            Hasło <input type="password" name="haslo" />
            <input type="submit" value="zaloguj sie"/>

        </form>
<?php
    if(isset($_SESSION['blad'])) echo $_SESSION['blad'];
?>
     </div>
<div style="clear:both"></div>
    
<?php
        if(!empty($_SESSION['user'])) 
            {       
        echo "<b>Uzytkownik</b>" .$_SESSION['user'].'![<a href="wpisy.php">panel uzytkownika</a>]'; 
            }
?>

</body>

</html>

Tu jest folmulrz 

<?php
    session_start();
    if(!isset($_SESSION['zalogowany']))
    {
        header('Location:index.php');
        exit();
    }
?>

<!DOCTYPE HTML>
<html lang="PL">
<head>
    <title>Storona testowa</title>
    <meta charset="utf-8" />
    <link rel="stylesheet" type="text/css" href="style.css"/>
</head>
<body>

<?php

    echo "<b>Wpisy jestes zalogowany</b>" .$_SESSION['user'].  '![<a href="logout.php">Wyloguj</a>]';

?>
</br><a href="index.php">Strona głowna</a>]
   
    <div class="pole">
        Wpisy na stronie</br>
        <form action="form.php" method="post" >
            <input type="text" name="tytul" /></br>
            <textarea name="wpis" rows="5" cols="50"></textarea>
            <input type="submit" value="dodaj" />
        </form>
    </div>



</body>

</html>

A tu kod wysyłania 

<?php

    session_start();
    if(!isset($_SESSION['zalogowany']))
    {
        header('Location:index.php');
        exit();
    }

    $tytul = $_POST ['tytul'];
    $wpis = $_POST ['wpis'];
    
    if($tytul and $wpis) 
        {
            $connection = @mysql_connect('localhost', 'root', '') 
            or die('Brak połączenia z serwerem MySQL'); 
            $db = @mysql_select_db('kursphp', $connection) 
            or die('Nie mogę połączyć się z bazą danych');        
            $ins = @mysql_query("INSERT INTO wpisy VALUES tytul='$tytul', wpis='$wpis'"); 
            
            if($ins) echo "Wpis został dodany"; 
            else echo "Nie udało sie dodac wpisu"; 

            mysql_close($connection);         
        }

?>

Plik zaloguj.php jest taki sam jak Pan Mirosław pokazywał na swojim filmiku

Jak wpisze dane do formularza i chce wysłac to wyskakuje i bład "Nie udało sie dodac wpisu" przejrzałem moze 20 stron gdzie opisuja jak to zrobic i nadal niemoge w bazie mam zrobiona Table wpisy idINT(11) tytul tekst , wpis tekst 

 

Jak był taki temat to sorry nie znałazłem 

@up

Chyba nieczego nie pominąłem

4 odpowiedzi

+1 głos
odpowiedź 6 września 2015 przez CzlowiekSkrypt Nałogowiec (26,340 p.)
wybrane 8 września 2015 przez D3v0
 
Najlepsza

Nie wiem co tam może być źle z tym mysql_query i nie chcę wiedzieć bo to przestarzała technologia, mogę dać Ci najwyżej trochę nowsze rozwiązanie , podmień cały kod z tego if($tytul and $wpis) {
 

    if($tytul and $wpis) {
           $connect = new mysqli('localhost', 'root', '', 'kursphp');
           if($connect->connect_errno != 0){
            echo "Błąd połączenia";
           } else {
            $query = "INSERT INTO wpisy SET tytul='$tytul', wpis='$wpis'";
            if ($connect->query($query)){
                echo "Dodano nowy wpis";
            }
            else {
             echo "No i wpizdu i pododawał i cały mysterny kod też wpizdu";

            }
           }               
        }
?>
komentarz 6 września 2015 przez D3v0 Początkujący (350 p.)
To samo moze zle zrobiłem tabele w bazie :(

Ale ogolnie cały kod to dobry ?
komentarz 6 września 2015 przez CzlowiekSkrypt Nałogowiec (26,340 p.)
hhmm to dziwna sprawa, u mnie testowałem i działa, upewnij się że pola tekstowe w tabeli to nie INT
komentarz 6 września 2015 przez D3v0 Początkujący (350 p.)

Mam TEXT :( 

Juz niewiem co to moze byc angry

+1 głos
odpowiedź 6 września 2015 przez mowmiheniek Stary wyjadacz (11,900 p.)

1. Sprawdz echem co pokazuje przed wysłaniem:

echo $tytul = $_POST ['tytul'];
echo $wpis = $_POST ['wpis'];

2. Spróbuj dodać bezpośrednio wpis do bazy. Np.:

INSERT INTO `wpisy` set `tytul`='jakis tytul', `wpis`='tu bedzie ciekawy wpis'

Zobacz w którym kroku jest błąd.

 

komentarz 7 września 2015 przez D3v0 Początkujący (350 p.)

Działa !! Miałem zle ustawione ID (nadal mam) , jak usunąłem to mozna było dodawac 

Jak mam te ID ustawic zeby mi numerowało wpisy ?

@up

Najdziwniejsze jest to jak dodam 

$query = "ALTER TABLE wpisy AUTO_INCREMENT = 1";

to mi pokazuje ze dodano wpis ale go nie ma 

komentarz 8 września 2015 przez mowmiheniek Stary wyjadacz (11,900 p.)

A tak?:

ALTER TABLE wpisy MODIFY COLUMN idINT auto_increment

I dodaj 

INSERT INTO `wpisy` set `tytul`='jakis tytul', `wpis`='tu bedzie ciekawy wpis'

Powinno samo autonumerowanie wskoczyć.

komentarz 8 września 2015 przez D3v0 Początkujący (350 p.)
nic to samo moze to jest bład w bazie mam ?
komentarz 8 września 2015 przez mowmiheniek Stary wyjadacz (11,900 p.)

Zrób tak i powiedz mi co ci pokazało:

DESCRIBE wpisy

 

komentarz 9 września 2015 przez D3v0 Początkujący (350 p.)
$query = "DESCRIBE wpisy" ; 

jesli chodzi zeby tak 

to wyskakuje ze dodano ale nie ma go w bazie danch 

+1 głos
odpowiedź 8 września 2015 przez D3v0 Początkujący (350 p.)

Działa 

poprawny kod 

<?php


    session_start(); 
    if(!isset($_SESSION['zalogowany']))
    {
        header('Location:wpisy.php');
        exit();
    }


    
    $tytul = $_POST ['tytul'];
    $wpis = $_POST ['wpis'];

if($tytul and $wpis) 

        {
           $connect = new mysqli('localhost', 'root', '', 'kursphp');
           if($connect->connect_errno != 0)
               {
                    echo "Błąd połączenia";
               }
            else 
                {
                $query = "INSERT INTO wpisy set tytul='$tytul', wpis='$wpis'" ;

             
                if ($connect->query($query))
                    {
                        $_SESSION['dwpis']='<span style="color:red">Wpis dodany </span>';
                        header ('Location:wpisy.php');
                    }
                else 
                    {
                        $_SESSION['bwpis']='<span style="color:red">Nie dodano wpisu </span>';
                        header ('Location:wpisy.php');
                    }
               }               
        }

?>

 

0 głosów
odpowiedź 6 września 2015 przez toaspzoo Dyskutant (8,300 p.)
Zapytanie:

$ins = @mysql_query("INSERT INTO wpisy VALUES tytul='$tytul', wpis='$wpis'");

$ins = @mysql_query("INSERT INTO wpisy set tytul='$tytul', wpis='$wpis'");
komentarz 6 września 2015 przez D3v0 Początkujący (350 p.)
To samo wyskakuje

Podobne pytania

0 głosów
1 odpowiedź 2,721 wizyt
+1 głos
1 odpowiedź 1,583 wizyt
pytanie zadane 6 września 2015 w PHP przez tytanik2011 Użytkownik (930 p.)
0 głosów
2 odpowiedzi 13,374 wizyt

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...