Jump to content
php.lv forumi

Recommended Posts

Posted

B) lieta taada: esmu kaarteejais iesaaceejs. bet vajadzeetu ieksh to php norealizeet pazinjojumu logus, piemeeram, tad kad veelos izdzeest no db kaadu ierakstu, buutu jaaizmet paz_logs ar jautaajkumu: Vai tieshaam veelies to dariit?.

ceru uz paliidziibu.

Posted

Nezinu tieši kā, bet manuprāt tas ir realizējams ar JavaScript, kaut gan, visiem browseriem nav aktivizēts javascripts.

Posted

nu to var veidot izmantojot vienkāršu formu, proti, ideja sekojoša:

1) tiek nospiesta poga dzēst ierakstu (vai links whatever);

2) if nosacījums, ka poga nospiesta un tiek izvadīta forma ar divām pogām yes/no

iespējams vajadzīgs kāds hidden lauks vai sesija, kur saglabāt dzēšamo ierakstu (ieraksta numuru);

3) nolasa kura no pogām nospiesta un attiecīgi veic darbības datu bāzē.

Posted

Tas darās ar JavaScript.

Piemērs:

<html>
<head>
<script>
function parbaude(){
return window.confirm("Vai tiešām gribi turpināt un izdzēst?");
}
</script>
</head>
<body>
<form onsubmit="return parbaude()">
...
</form>
</body>
</html>

Posted

hei dzeki :) betkursh tad ieprieksheejos rakstos bij raxtiijis ka JavaScript -s neiet kopaa ar php?????????????????

man shkjiet te kau kas neklapee :)))

Posted

2 rukits:

JavaScript izpildās uz TAVA datora/mobilā/whatever, TAVA pārlūkā

php izpildās uz MANA(mana hostera) servera/datora

 

JavaScript TU - SEV vari atslēgt

PHP varu atslēgt tikai ES

 

Un arī ja tev ir tā pārbaude ar JavaScript, es aizeju kaut kur uz (piemērs IE)Tools>Internet Options>Security>Custom Level>Scripting\Active Scripting->Disable un tava pārbaude ļauj man bliezt visu ko kā vien gribu.

 

Ar php es izmantotu šādu variantu:

 

<form onsubmit="return parbaude()" method="post" action="delete.php">

<script>

document.write('<input type="hidden" name="js_enabled" value="yes" />');

</script>

 

<input type="checkbox" name="deletable[]" value="<šeit elementa unikāls id>" />

<input type="checkbox" name="deletable[]" value="<šeit elementa unikāls id>" />

...

</form>

 

delete.php:

 

if (!empty($_POST['js_enabled']))

{

//uzskatām, ka JavaScript bija ieslēgts, jo viņš ir izrakstījis to slēpto lauku

dzēšam

}

else

{

/* uzsākam/atsākam sesiju - mehānismu kas ļauj nodot datus no vienas php lapas uz citu, neizmantojot klienta pārlūku */

if (!session_id())

session_start();

 

$_SESSION['deletable']=array();

$_SESSION['deletable']=$_POST['deletable'];

 

 

//apstrādājam formas (sk. zemāk) atbildes

if (!empty($_POST['yes']) && $_SESSION['delete'])

{

//dzēšam nost, piem no MySQL to var darīt šādi

mysql_query("DELETE FROM tabula WHERE id IN (".join(',',$_SESSION['deletable']).")");

}

if (!empty($_POST['no']))

else

{

//tika atbildēts ar nē, atsviežam lietotāju atpakaļ uz iesākuma lapu (redirect)

header('Location: index.php');

}

?>

<form method="post" action="delete.php">

Vai tiešām dzēst iepriekš izvēlētos elementus?

<input type="submit" name="yes" value="Jā" />

<input type="submit" name="no" value="Nē" />

</form>

<?php

}

 

Resp. ja lietotājam ir bijis JavaSript, netiek vaicāts "vēlreiz", ja nav bijis - ar pašu php noģenerējam papildus formu, kas vēlreiz pavaicā vai to-to dzēst vai nē.

Posted

iet kopa...vel viens variant, bet tas pats kas Aleksejam tikai linka veida

<script language="JavaScript">
function Dzest() {
var message = 'Vai dzēst ierakstu nr. 5?';
if (confirm (message)) {
return true;
}
else {
return false;
}
}
</script>

<a href="?del=5" onclick="return Dzest()">dzēst</a>

Posted

un vēl universālāk (ķipa "a man garāk" ;) ):

 

<script type="text/javascript">

function ud(a)

{

pth=a.href.split('=');

return confirm('Tiešām dzēst ierakstu ar numuru '+pth[pth.length-1]+'?');

}

</script>

 

<a href="?del=5" onclick="return ud(this)">here</a>

 

visiem linkiem jāpievieno tas onclick="return ud(this)" un jānodrošina, ka tas numurs ir pēc pēdejā "=" iekš linka.

 

bet tas tomēr neatceļ situāciju ar javascript atslēgšanu

 

2 rumpels: 3 bet - 1. ja saprati, ka confirm pas atgriež true/false atšķirībā via bija nospiests OK/Cancel, tad priekš kam lieki dublēt? 2. priekš kam liekais mesage variablis? 3. priekš kam liekiem {} apkārt vienoperāciju if darbībām (return ...)

×
×
  • Create New...