command php via JS

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Maks

maks

07/02/2008 02:28:00
Quote Anchor link
Ik heb met JS iets gemaakt dat een Div open gaat als je op de eerste regel klikt. (soort van mailbox)

Nu zoek ik een manier om ook in php dudielijk te maken dat de hele div visible is en ik dus in de database de status kan wijzigen (> gelezen).

Hier heb ik php nodig, en ik vind niet direct de correcte manier om deze te combineren...
 
PHP hulp

PHP hulp

05/11/2024 12:32:11
 
- SanThe -

- SanThe -

07/02/2008 02:30:00
Quote Anchor link
Kijk eens naar 'Ajax'.
 
Maks

maks

07/02/2008 02:44:00
Quote Anchor link
ja, maar ik krijg het niet voor elkaar, al een tijdje op zitten zoeken enzo.
Maar ik gerakak er niet uit hoe je bij onclick die naar JS verwijst toch die phpcommand erin zet.
 
- -

- -

07/02/2008 06:57:00
Quote Anchor link
Een 'takenlijstje':
- Je maakt een PHP-pagina, die een mailbericht op gelezen kan zetten, ID van het mailbericht staat in $_GET['id']. Deze pagina krijgt verder geen lay-out etc., dit is genoeg.
- Je zult moeten kiezen tussen 'handmatig' AJAXen, of een framework als Prototype of MooTools gebruiken. Voordeel van handmatig is dat je puur maakt wat je nodig hebt. Voordeel van een framework is dat het lekker simpel is, en het cross-browser werkt.
- Dan moet je een AJAX-aanroep in de functie zetten die ook de div open laat gaan.

Tutorial over AJAX Prototype MooTools
 
Jacco Engel

Jacco Engel

07/02/2008 09:08:00
Quote Anchor link
Met prototype moet het ongeveer zo:

Form :
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<div onClick="markRead(1)">Je input</div>


Je Ajax request :
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
function markRead(message_id)
{
    new Ajax.Request("markRead.php",{
        postBody : "?message_id="+message_id ,
        onComplete : function()
        {
            alert("Bericht als gelezen gemarkeerd") ;
        }
    }
    )
}


En markRead.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
    $query
= "UPDATE berichten SET read=1 WHERE message_id=".$_POST["message_id"] ;
    mysql_query($query) ;
?>




Dit is het idee wat jij zoekt. Wel even aanpassen naar je eigen situatie maar dit zou je aardig op weg moeten helpen als je voor prototype kiest.

Neem het niet 1 op 1 klakkeloos over maar kijk ook even naar dingen als beveiliging en dergelijken want dat zit er (zoals overduidelijk is :P) nog niet in

mvg,

Jacco

PS: Druk-,zet- en typfoten voorbehouden
Gewijzigd op 01/01/1970 01:00:00 door Jacco Engel
 
Maks

maks

07/02/2008 12:14:00
Quote Anchor link
ik heb wat zitten testen, maar krijg het niet werkend.
dit staat in site.js:

function update_dropbox(id){
new Ajax.Request("dropboxx.php",{
postBody : "?id="+id
}
);
}

dat wordt opgeroepen door de jsfunction die het laat open schuiven.
Als ik enkel een alert in zet werkt het, dus doorstroom is ok.

dit is dropboxx.php

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$query
= "UPDATE dropbox SET Status = 0 WHERE DropID='".$_POST["id"]."'";
    mysql_query($query);
?>


het doet gewoon niets, er komt onderaan de pagina steedfs: fout op pagina.
Gewijzigd op 01/01/1970 01:00:00 door maks
 
Jacco Engel

Jacco Engel

07/02/2008 12:33:00
Quote Anchor link
Request is met een kleine r
 
Maks

maks

07/02/2008 12:38:00
Quote Anchor link
Dat zou wel heel simpel zijn.. dat is het dus niet.
Ik heb trouwens in tutorials enzo ook al met hoofdletter gezien.

trouwens al andere versies (bv met method: get) getest en ze werken allemaal niet. Een server heeft toch niets speciaal nodig voor die ajax.request?
 
Crispijn -

Crispijn -

07/02/2008 13:13:00
Quote Anchor link
nee, je server niet. ajax bestaat uit javascript en een andere programmeertaal. het is dus allemaal afhankelijk van de browser. Heb je wel de prototype librairy gedownload? Deze moet je laden anders weet je browser niet wat de functie new Ajax.Request inhoud!
 
Maks

maks

07/02/2008 13:23:00
Quote Anchor link
?? moet iedereen dat dan eerst installeren vooraleer ze het werkend kunnen zien?

EDIT: ok te snel gereageerd, is een .js doc. even zien at dat geeft...

EDIT2: het werkt! Aleen moest het niet ?id= zijn maar zonder die ?. dus gewoon id=

Bedankt allemaal!
Gewijzigd op 01/01/1970 01:00:00 door maks
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.