Autor | Zpráva | ||
---|---|---|---|
rony Profil * |
#1 · Zasláno: 1. 8. 2011, 21:26:14
Ahoj mam menší problém s vymazaním záznamu.
mam na tejto stranke http://xxx/spravy.php odkaz http://xxx/spravy.php?prijate_spravy . kde mi vypisuje zoznam mojich správ, od akého uživateľ. Ako daľši stpec si vyberiem id spravy co vložím do odkazu teda to bude <a href="spravy.php?prijate_spravy=id='.$id.'">Delete</a>'.'</td>'; robim niečo špatne? skuste ma naviesť na nejake riešenie. Diky |
||
Spectator Profil |
#2 · Zasláno: 1. 8. 2011, 21:44:49
Špatně zapisuješ řetězce. Moc to teda nechápu, ale asi chceš nějakým echem vypisovat odkaz a promennou v id.
echo "<a href=\"spravy.php?prijate_spravy=$id&id=$id\">Delete</a></td>"; |
||
rony Profil * |
#3 · Zasláno: 1. 8. 2011, 22:16:52
sorry reklep
echo'<td>'.'<a href="spravy.php?prijate_spravy?id='.$id.'">Delete</a>'.'</td>'; takto to presne vyzera. učelom by malo byť to že po kliknuti na ten link sa mi zmaže záznam v databáze.. pričom id potom vyberám metodou get tu nasledne ulozim do premenej, ktorú použiem v mysql v príkaze na vymazanie |
||
shaggy Profil |
#4 · Zasláno: 1. 8. 2011, 22:34:23 · Upravil/a: shaggy
Prečo tam spájaš reťazce?
Toto: echo'<td>'.'<a href="spravy.php?prijate_spravy?id='.$id.'">Delete</a>'.'</td>'; sa dá zapísať takto: echo'<td><a href="spravy.php?prijate_spravy?id='.$id.'">Delete</a></td>'; prečo to tak nerobíš? + aby ti to fungovalo, musíš mať adresu v href zapísanú takto (zjednodušene): echo'<td><a href="spravy.php?prijate_spravy='.$id.'">Delete</a></td>'; alebo ak chceš mať dva parametre, tak: echo'<td>'.'<a href="spravy.php?prijate_spravy&id='.$id.'">Delete</a>'.'</td>'; To sú základy, ktoré musíš vedieť predtým než sa pustíš do niečoho zložitejšieho (ako napr. mazanie z db). |
||
rony Profil * |
#5 · Zasláno: 1. 8. 2011, 22:52:43
taktiež som skúšal i toto ale nefunguje to .. vždy keď kliknem na ten odkaz.. otvori sa mi prazdna stránka;
|
||
Spectator Profil |
#6 · Zasláno: 1. 8. 2011, 23:18:36 · Upravil/a: Spectator
na te strance spravy.php musíš mít nějaké $_GET['id'] které následně vložíš do mysql_query() v rámci SQL příkazu DELETE....
po všech těchto úkonech je potřeba někam přejít, protože pokud je tam pouze nějaká mazací funkce, tak se nemůžě nic zobrazit. Dej tam například header('location: index.php'); to je přesměrování |
||
Sir Tom Profil |
#7 · Zasláno: 2. 8. 2011, 00:21:49
rony:
Bacha na uvozovky a apostrofy - standard je psát nejdříve uvozovky (") a pak apostrofy ('), aby apostrof byl uvnitř uvozovek - ne naopak... |
||
rony Profil * |
#8 · Zasláno: 2. 8. 2011, 03:16:12
ono to aj robbí čo to má ale len ak je to priamo napisane a zobrazovane v spravy.php; možno je cyhba takato:
vytvoril som si premenne $path1="nove_spravy"; $path2="prijate_spravy"; echo'<a href="spravy.php?'.$path1.'">Nové správy</a>'; echo" "; echo'<a href="spravy.php?'.$path2.'">Prijaté správy</a>'; $cesta=$_SERVER['QUERY_STRING']; echo"</br>"; if(($cesta)==$path1){ echo " </br>"; napis_spravu(); } if(($cesta)==$path2){$vymazat_spravy} na poslednom riedku ako som napisal premennu $vymazat_spravy je kod ktorý to zabezpeči, teda mal by byť. pretože ak je na tomto mieste nespravi mi to nic.. kod kde vymazavam ked posuniem nad podmienky tak to slape.. ale ma to chybu ze to ma vyýpis kde nechcem |
||
Tori Profil |
#9 · Zasláno: 2. 8. 2011, 08:16:34
rony:
Kdybyste to porovnával s celým query stringem, tak už nemůžete přidat žádné další parametry. Dejte to nové/přijaté/smazat taky jako parametr: echo '<a href="spravy.php?akce=nove">Nové správy</a> <a href="spravy.php?akce=prijate">Prijaté správy</a><br>'; switch ($_GET['akce']) { case 'nove': napis_spravu(); break; case 'vymazat': $id = intval($_GET['id']); // adresa: sprava.php?akce=vymazat&id=123456 // smazani zpravy break; case 'prijate': default: // ukaz prijate zpravy break; } |
||
shaggy Profil |
#10 · Zasláno: 2. 8. 2011, 09:04:00
Sir Tom:
„Bacha na uvozovky a apostrofy - standard je psát nejdříve uvozovky (") a pak apostrofy (')“ Bacha na dezinformácie - štandard je najprv si zistiť informácie a potom niečo písať. Toto, čo si napísal, pravda nie je. |
||
Sir Tom Profil |
#11 · Zasláno: 2. 8. 2011, 12:02:10
shaggy:
„Bacha na dezinformácie - štandard je najprv si zistiť informácie a potom niečo písať. Toto, čo si napísal, pravda nie je.“ Omlouvám se - v době, kdy jsem se učil PHP, mě na rozdíl mezi uvozovkami a apostrofy nikdo neupozornil. Asi jsem si myslel, že syntax bude stejná jako u jiných program. jazyků... //Poprosil bych moderátory, jestli by nemohli zde mé příspěvky smazat - nesouvisí s problémem. Díky. |
||
rony Profil * |
#12 · Zasláno: 2. 8. 2011, 13:19:02
S metodou Get som zatiaľ skoro vobec nepracoval takže nevedel som presne ako funguje. Diky moc za pomoc rozbehal som to.
|
||
rony Profil * |
#13 · Zasláno: 2. 8. 2011, 17:20:55
teraz ma napadlo že keď uživateľ zadá presnú adresu napr
xxx/spravy.php?akce=prijate&id_s=35 tak tu správu vymaže .. da sa to nejak ochraniť? |
||
pcmanik Profil |
#14 · Zasláno: 2. 8. 2011, 18:02:15
rony:
Over, ci je prijimatelom, resp odosielatelom spravy. |
||
Tori Profil |
#15 · Zasláno: 2. 8. 2011, 18:02:26
Buď v PHP (kontrolovat, jestli aktuálně přihlášený uživatel je adresátem/odesilatelem zprávy), nebo v databázi (smazat zprávu podle WHERE id_zpravy = [id z URL adresy] AND id_adresata = [id aktuálně přihlášeného uživatele]).
|
||
rony Profil * |
#16 · Zasláno: 2. 8. 2011, 18:10:01
diky za napady :)
|
||
rony Profil * |
#17 · Zasláno: 3. 8. 2011, 22:05:47
Nechcel som vytvarát nové tema, pretože toto je tomuto príbuzné.. takže problem:
po kliknuti a spravu od nejakého uživatela chcem aby sa mi načítala správa v tom istom okne. a vykreslil by sa mi formular na odpovedanie na spravu. po tom kliknuti by sa mi malo uložiť id spravy aby som ju vedel načítať a odoslat.. viete mi niekto helfnut trosku |
||
rony Profil * |
#18 · Zasláno: 3. 8. 2011, 23:24:58
prepáčte za spam ...
ked pouzijem toto: echo '<td><a href="spravy.php?akcia='.ukaz_vsetky_moje_spravy.'&precitaj='.$precitaj.'">'.$spr."</td>"; na tejto stránke spravy.php?akcia=ukaz_vsetky_moje_spravy šlape to. ale akonáhle by som to chcel spravit na tejto stranke spravy.php?akcia=odpovedaj&precitaj=$precitaj tak to nefunguje viete mi niekto vysvetlit kde robim chybu? |
||
Tori Profil |
#19 · Zasláno: 4. 8. 2011, 00:07:54
rony:
Je na stránce ...akcia=odpovedaj definovaná proměnná $precitaj? A to "ukaz_vsetky_moje_spravy" by mělo být taky uvnitř řetězce (pokud to náhodou opravdu není konstanta). |
||
rony Profil * |
#20 · Zasláno: 4. 8. 2011, 00:23:51
definovana je. ale "ukaz_vsetky_moje_spravy" je tam natvrdo dane.. pretože v spravy.php vo switchi vyberám akciu akú chcem.. doplnil som si tam case "ukaz_vsetky_moje_spravy" kde sa ma vykonať vlastne vykreslenie tej správy, teda to precitaj. takže neviem ako ďalej.. dufam ze som to opisal dobre pre pocopenie
|
||
Časová prodleva: 13 let
|
0