webForumDet fria alternativet

Försöker skapa ett nyhetsbrev med PHP +mysql +databas

PHP

10 svar · 463 visningar · startad av thereset

Medlem sedan okt. 20066 inlägg
Frågan#1

Har via http://internetworld.idg.se/tjanster/webbskolan/nyhetsbrev/del1/default.asp
försökt fixa nyhetsbrev. Allt fungerar som det ska med att fylla i formuläret och e-post skickas till den som har skrivit in sig. E-post adressen kommer till databasen. Men när man ska bekräfta via e-post brevet att man vill vara med kommer detta upp.

Warning: mysql_result(): Unable to jump to row 0 on MySQL result index 4 in /..../confirm.php on line 15
Adressen there har nu blivit aktiverad. En bekräftelse har skickats per mejl. Välkommen till nyhetsbrevet!

men ingen bekräftelse skickas...

raderna ser ut så här... rad 3 är line 15

$sql = "SELECT * FROM mejladresser WHERE epost='$epost'";
$result = mysql_query($sql) OR DIE(mysql_error());
$check_aktiv = mysql_result($result,0,"aktiv");
if($check_aktiv=='yes') DIE("Adressen $epost är redan aktiverad.");

Tacksam för hjälp för en som precis har börjat med PHP databaser mm

Therese

Medlem sedan juni 20006 031 inlägg
#2

Hur sätter du värdet på variabeln $epost?

Eftersom du klickar på en länk i mailet så antar jag att länkadressen är liknande detta:
https://www.dinsida.se/confirm.php?epost=dinadress@telia.com
och att du sen sätter värdet på $epost med:
$epost = $_GET['epost']; i confirm.php

Stämmer detta?

Medlem sedan okt. 20066 inlägg
#3

Länker ser ut så här
http://webadress/PHP/nyhetsbrev/confirm.ph
p?epost=mittnamn@home.se så det är riktigt.

Det finns en sträng som ser ut så som du skriver
$epost = $_GET['epost']; i confirm.php
men jag har inget värde där. ska jag skriva in nåt i den strängen?

Medlem sedan juni 20006 031 inlägg
#4

Nej, det är helt riktigt. Ville bara kontrollera så $epost fick rätt värde och det verkar det ser helt rätt ut så.
Misstänkte att det var där felet var, men det ser helt ok ut.

$_GET['epost'] hämtar mailadressen ifrån länken precis som den ska.

Får fundera lite till.

Välkommen till wF iaf. :)

Medlem sedan okt. 20066 inlägg
#5

Tack tack :))

Medlem sedan okt. 20066 inlägg
#6

Databasen vill heller inte ändra min epost till aktiv från no till yes.... kanske är det därför inte bekräftelsemejlet skickas ut.... Har läst någonstans att databaseb inte hittar rad o. men jag har lagt upp databasen precis som de visar.

Men det är inga problem att få in adresser eller ta bort adresser

Medlem sedan juni 20006 031 inlägg
#7

Det ändras inte i databasen därför att du får ett error som stoppar koden från att köras.
Hittar vi felet så ändras det i databasen.

Medlem sedan juni 20006 031 inlägg
#8

Felet måste nog ligga i databasen i alla fall.
Heter tabellen mejladresser och fälten epost och aktiv?

Kontrollera stavningen så du inte har gjort något slarvfel.

Medlem sedan okt. 20066 inlägg
#9

Ja tabellen heter så och fälten är rätt. Men jag har bara fått en databas via webhotellet. så mejladresser är min andra tabell. Men det kan väl inte göra någon skillnad?

Medlem sedan juni 20006 031 inlägg
#10

Nej, det är som det ska. Du kan ha många tabeller i en och samma databas.

Medlem sedan okt. 20066 inlägg
#11

när jag testar och går vidare med del 2 och skicka ut nyhetsbrev till adressen så kommer det inte fram fast sidan säger att den kommer fram. och då har jag ändrat adressen till aktiv dvs yes

247 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)