Sessions IP ofzo
Ik heb nu een database gemaakt waarbij de IPadres, datum en de rang word opgeslagen. Nu wil ik dat als iemand met het ipadres die opgeslagen in de database komt dat die gene een bericht te zien krijgt.
ik heb het al eens geprobeert met sessions, maar dat lukt niet, daarom had ik ook in de database de tabel rang. Wat moet ik nu doen dan?
Het is dus de bedoeling dat de gene waarvan het ipadres is opgeslagen een bericht krijgen en de bezoekers waarvan het ip niet opgeslagen geen bericht krijgen.
Gewijzigd op 26/04/2011 14:59:51 door Cas wolters
Kijk hier eens
En leg eens duidelijk uit wat je wilt en waarom je sessies wilt gebruiken?
En hoe worden de gegevens opgeslagen?
Wat heb je al geprobeerd en laat daar eens een deel van zien.
En leg eens duidelijk uit wat je wilt en waarom je sessies wilt gebruiken?
En hoe worden de gegevens opgeslagen?
Wat heb je al geprobeerd en laat daar eens een deel van zien.
» <a href="?p=lala">Link voor vaste bezoker</a><br />
Dit werkte dus niet!
en hoe wordt $_SESSION['rang'] gevult?
LOL moet je dat vullen? :O
FROM tmipTABEL_MET_IP_ADRESSEN
WHERE tmipIPADRES = '$IP_ADRES';
Krijg je een getal groter dan 0 terug dan bestaat het IP in de TABEL....
PS: Voor php hulp moet je een ander topic hebben...
Groetjes: Roger Keulen.
PS: Wat wil je eigenlijk maken? Dat je een MAILTJE krijgt als je inlogged bent? Of wil je elke dag mensen gaan mailen die bekend zijn en die dag of periode hebben ingelogged...
Dat zou ik niet via php gaan maken maar gewoon in de database oplossen.
Maar begrijp niet echt wat je nu wilt maken....
Maar als je een bericht wilt verzenden heb je toch php nodig, maar meestal is het handig om eerst de berichten te gaan verzamelen en die dan bv elke 10 minuten gaan versturen.
Hier alvast een simpel voorbeeld hoe je dit in de DB kunt oplossen:
Tabel = ipaIPADRESSEN_tbl (ipa = prefix voor UNIQUE veld namen!)
ipaPK
ipaIPADRES
ipaRANG
ipaEMAIL
ipaCREATEDATE (Datum aangemaakt record)
ipaMODDATE (Laatste x ingelogged)
Tabel = brcBERICHTENQUEUE_tbl
brcPK
brcTEXT
brcHTML
brcONTVANGER
brcBERICHTVERZONDEN
brcDATUMVERZENDING (Wanneer gaan we verzenden of hebben we het bericht verzonden)
Nu doen we bij elke IP ADRESS die inlogged zijn 'record' updaten...
Nu gaat dit alleen als het IP ADRESS in de database staat en dat is precies wat we willen.
Dus we updaten de ipaIPADRESSEN_tbl en veranderen de laatste inlogdatum naar NU:
UPDATE ipaIPADRESSEN_tbl
SET ipaMODDATE = CURRENT_TIMESTAMP WHERE ipaIPADRES = '$IPADRESS' LIMIT 1;
Als deze persoon dus bestaat wordt er een UPDATE gedaan op deze tabel...
Nu kunnen daar een TRIGGER voor schrijven die nu deze persoon toegaat voegen aan de brcBERICHTENQUEUE_tbl.
<pre>
CREATE TRIGGER TOEVOEGEN_BERICHT_INLOGGEN BEFORE UPDATE ON ipaIPADRESSEN_tbl
SET @STANDAARD_TEXTBERICHT = 'Hallo';
SET @STANDAARD_HTMLBERICHT = '<B>Hallo</B>';
SET @VOLGENDEVERZENDING = '2011-05-01 12:00'
FOR EACH ROW BEGIN
INSERT INTO brcBERICHTENQUEUE_tbl
SET brcTEXT = @STANDAARD_TEXTBERICHT, brcHTML = @STANDAARD_HTMLBERICHT, brcONTVANGER = NEW.ipaEMAIL,
brcBERICHTVEZONDEN = False, brcDATUMVERZENDING = @VOLGENDEVERZENDING;
END;
</pre>
En als we dan een 2de view maken voor de berichten die nog moeten:
SELECT *
FROM brcBERICHTENQUEUE_tbl
WHERE brcBERICHTVERZONDEN = FALSE AND brcDATUMVERZENDING >= CURRENT_TIMESTAMP
Dan zien we alleen RECORDS/BERICHTEN die nog niet verzonden zijn en de verzend datum is verstreken. En dus verzonden moeten worden.
Toevoeging op 26/04/2011 16:01:55:
Maar ik denk dat je beter eerst kunt gaan lezen i.p.v. klikken...
http://www.mysqltutorial.org
http://www.brainbell.com/tutorials/MySQL
Want ik denk niet dat je weet wat PHP en wat MYSQL is...
En de basis is toch wel handig om te gaan leren.
Groetjes: Roger Keulen.
Gewijzigd op 26/04/2011 15:58:09 door Roger Keulen
en is jouw code niet een beetje overdreven?
Hij wil gewoon controleren of het IP van de bezoeker overeenkomt met een IP uit de database. En aangezien dat dat best makkelijk is kan ie beter even de basis gaan leren.
en dan select from database
en daarna:
Het opslaan van ipnummers is zooooooooooo fout. Alleen in extreme gevallen zoals een ip-ban is het echt zinvol alhoewel we helaas bij ons bedrijf al jaren niet meer kunnen schrijven op geenstijl omdat iemand iemand er een zooitje van maakte en we een levenslange ipban hebben.....
Sorry: Cas, maar je zit hier totaal verkeerd...
Je moet bij de PHP hoek zijn en vragen naar: session_start en $_SESSION....
Of gewoon effe de manual lezen:
http://nl2.php.net/manual/en/function.session-start.php
http://nl2.php.net/manual/en/reserved.variables.php
http://nl2.php.net/manual/en/reserved.variables.session.php
Mzzl.
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$dbSql = mysql_query("SELECT ip_adres FROM ip_lijst WHERE ip_adres = '" . $_SERVER["REMOTE_ADDR"] . "'");
$dbNumRows = mysql_num_rows($dbSql);
if ($dbNumRows == 1)
{
echo "Joepie! Je bent geselecteerd";
$_SESSION["ip_bericht"] = true;
}
?>
$dbSql = mysql_query("SELECT ip_adres FROM ip_lijst WHERE ip_adres = '" . $_SERVER["REMOTE_ADDR"] . "'");
$dbNumRows = mysql_num_rows($dbSql);
if ($dbNumRows == 1)
{
echo "Joepie! Je bent geselecteerd";
$_SESSION["ip_bericht"] = true;
}
?>
Gewijzigd op 04/05/2011 13:47:26 door PHP Scripter