Poslao: 10 Mar 2013 16:56
|
offline
- Pridružio: 13 Sep 2012
- Poruke: 2138
|
Napisano: 10 Mar 2013 13:53
Pozdrav!
Već par dana radim na aplikaciji u kojoj korisnik upisuje sadržaj pomoću dve forme, gde kasnije skripta od te dve forme pravi rečenice, tj postoji već definisana rečenica a u rečenici se menja samo sadržaj koji je definisan u formama. Moje pitanje je da li je bolje da se prikazuje jedna rečenica (uvek nova kada se osveži strana) ili da se prikazuje sve rečenice jedna ispod druge.
Sajt radi na foru
Dopuna: 10 Mar 2013 14:16
Potrebna mi je pomoć oko skripte, ne mogu da rešim ovo
Skripta je sledeća
Citat:
<?php
file_put_contents('file.txt', 'Svi ' . $_POST['svi'] . ' Samo ' . $_POST['samo']);
?>
Ona čuva tekst iz forma u tekst fajl (.txt) e sad problem je to što kada se pošalje sadržaj forma sve prođe ok ali uvek menja prvu rečenicu , tj obriše prethodnu i unese novu. A menije potrebno da uvek piše jednu ispod druge u tekst fajlu
Dopuna: 10 Mar 2013 16:56
Zna neko?
...
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
Poslao: 10 Mar 2013 17:04
|
offline
- iCho
- Elitni građanin
- Pridružio: 03 Maj 2011
- Poruke: 1808
- Gde živiš: Mos Eisley
|
Nisam veliki stručnjak za PHP, al' da prozborim koju.
Pokušaj da prethodni tekst učitaš u neku promenljivu, pa da 'sabereš' sadržaj promenljive i novog unosa pa da sačuvaš u txt fajl.
E sad, nisam siguran da će se raspored redova zadržati.
P.S.: Što komplikuješ sa txt fajlovima, uzmi bazu podataka i rešio si problem
Jednostavno:
INSERT INTO main_table VALUES ('$svi', '$samo')
|
|
|
|
Poslao: 10 Mar 2013 17:18
|
offline
- Pridružio: 13 Sep 2012
- Poruke: 2138
|
Znači ovim kodom upisujem u bazu?
A koji kodom čitam iz baze?
|
|
|
|
Poslao: 10 Mar 2013 18:11
|
offline
- iCho
- Elitni građanin
- Pridružio: 03 Maj 2011
- Poruke: 1808
- Gde živiš: Mos Eisley
|
Napisano: 10 Mar 2013 17:36
Ovo što sam ti napisao je query preko koga ćeš uneti određene podatke u bazu.
Usput će ti trebati otvorena konekcija (mysqli_connect) i funkcija koja će izvršiti naredbu (query) (mysqli_query).
Da iščitaš iz baze sve unose, query bi izgledao ovako:
SELECT * FROM main_table
ili samo jedan jedinstveni koji bi bio identifikovan preko jednog celog broja ($id):
SELECT * FROM main_table WHERE id = '$id'
Usput bi ti bilo potrebno mysqli_connect, mysqli_query i jedna while petlja.
U tabeli main_table napravio bi 3 kolone svi, samo, id, gde bi id bio tipa INT i uključen AUTO_INCREMENT tj. pri svakom unosu, id kolona unosa će biti id prošlog unosa + 1.
Sada bi problem mogao da rešiš da nasumično biraš brojeve funkcijom rand u kojoj bi uslovi bili da maksimalna vrednost bude najveća vrednost kolone ID u tabeli main_table, tj. broj unosa u istoj tabeli.
Dopuna: 10 Mar 2013 18:11
Forma preko koje unosis podatke:
<html>
<head>
<title>Unos</title>
</head>
<body>
<form action = "unos.php" method = "post">
<p>Svi <input name="svi" type="text" id="svi" />, samo <input name="samo" type="text" id="samo" />
<p><input name="dodaj" type="submit" value=" Dodaj sadrzaj " />
</body>
</html>
PHP kod za unos podataka:
<?php
$db_korisnicko_ime = "icho";
$db_lozinka = "pass";
$db_server = "localhost";
$db_naziv = "main_db";
$konekcija = mysqli_connect($db_server, $db_korisnicko_ime, $db_lozinka, $db_naziv); //Nisam definisao $konekcija pre upotrebe u mysqli_real_escape_string().
$svi = mysqli_real_escape_string($konekcija, $_POST['svi']);
$samo = mysqli_real_escape_string($konekcija, $_POST['samo']);
$query = "INSERT INTO main_table(svi,samo) VALUES ('".$svi."', '".$samo."')";
$rezultat = mysqli_query($konekcija, $query);
?>
Stranica koja iščitava nasumičnu rečenicu:
<?php
$db_korisnicko_ime = "icho";
$db_lozinka = "pass";
$db_server = "localhost";
$db_naziv = "main_db";
$konekcija = mysqli_connect($db_server, $db_korisnicko_ime, $db_lozinka, $db_naziv);
$prebroj_query = "SELECT * FROM main_table";
$prebroj_rezultat = mysqli_query($konekcija, $prebroj_query);
$id_min = 1;
$id_max = mysqli_num_rows($prebroj_rezultat);
$id = rand($id_min, $id_max);
$glavni_query = "SELECT * FROM main_table WHERE id = '$id'";
$glavni_rezultat = mysqli_query($konekcija, $glavni_query);
while($unos = mysqli_fetch_array($glavni_rezultat))
{
$svi = $unos['svi'];
$samo = $unos['samo'];
echo "Svi su";
echo $svi;
echo ", samo";
echo $samo;
echo ".";
}
?>
|
|
|
|
Poslao: 10 Mar 2013 19:35
|
offline
- Pridružio: 13 Sep 2012
- Poruke: 2138
|
Napisano: 10 Mar 2013 19:33
Hvala, probaću
Dopuna: 10 Mar 2013 19:35
Car si, radi ko sat!
|
|
|
|
Poslao: 10 Mar 2013 19:40
|
offline
- iCho
- Elitni građanin
- Pridružio: 03 Maj 2011
- Poruke: 1808
- Gde živiš: Mos Eisley
|
Čitao sam tvoje postove o web dizajnu na forumu, ne sumnjam da ćeš napraviti da ovo vizuelno lepo izgleda, ovo što sam ti dao je samo jezgro, može tu dosta stvari da se doradi, glasanje (+ ili -), pa top liste najboljih, itd.
|
|
|
|
Poslao: 10 Mar 2013 19:45
|
offline
- Pridružio: 13 Sep 2012
- Poruke: 2138
|
Napisano: 10 Mar 2013 19:41
Hvala na ovom kodu, dosta mi je pomogao!
Ako napravim sajt, dobijaš link ili banner za uzvrat. Hvala još jednom!
Jedino mi sada na unos u liniji 14 prikazuje grešku?
Dopuna: 10 Mar 2013 19:45
Parse error: syntax error, unexpected end of file in
|
|
|
|
Poslao: 10 Mar 2013 19:52
|
offline
- iCho
- Elitni građanin
- Pridružio: 03 Maj 2011
- Poruke: 1808
- Gde živiš: Mos Eisley
|
Moja greška, nisam otkucao ; .
Treba da bude $id = rand($id_min, $id_max); a ne samo $id = rand($id_min, $id_max) .
|
|
|
|
Poslao: 10 Mar 2013 19:53
|
offline
- Pridružio: 13 Sep 2012
- Poruke: 2138
|
Ček, ovaj kod koji si ispravio je za stranicu koja iščitava iz baze? A meni daje grešku na stranicu za unos u bazu
|
|
|
|
Poslao: 10 Mar 2013 19:58
|
offline
- iCho
- Elitni građanin
- Pridružio: 03 Maj 2011
- Poruke: 1808
- Gde živiš: Mos Eisley
|
Jeste, nisam obratio pažnju.
Inače, samo promeni: mysqli_query($query); u mysqli_query($konekcija, $query); .
Na brzinu sam radio, pa ima malih greški.
|
|
|
|