Avatar billede kdys Nybegynder
16. april 2003 - 21:54 Der er 24 kommentarer og
1 løsning

tæller med max 5 login !!

Jeg har forsøgt at lave et script, med lidt hjælp, men det virker ikke, og det skal reagere på eks. test.php?id=1
så skal den update mailkonti ved under 5 & hoppe vidre til ny url ellers meddele at de er oprettet.


<--- script start ---->
<?
mysql_connect ("localhost", "test","test");
mysql_select_db ("test");
$sql = mysql_query("SELECT COUNT(*) AS mailkonti FROM profiler WHERE id=$id");
$row = mysql_fetch_array($sql);
if ($row[mailkonti] == 5); {
    echo "Du har oprettet 5 kontoer hvilket er maximum";
  } else {
  mysql_query("UPDATE profiler SET mailkonti = mailkonti+1 WHERE id=$id");
}
echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"15; Url=mail.php?id=$id\">";

?>
<---- script slut ---->



<--- table start---->
CREATE TABLE profiler (
  username varchar(12) NOT NULL default '',
  PASSWORD varchar(50) NOT NULL default '',
  fornavn varchar(50) NOT NULL default '',
  efternavn varchar(50) NOT NULL default '',
  adresse varchar(50) NOT NULL default '',
  postnr varchar(4) NOT NULL default '',
  bynavn varchar(50) NOT NULL default '',
  tlf int(8) NOT NULL default '0',
  mobil int(8) NOT NULL default '0',
  lastlogin varchar(10) NOT NULL default '',
  email varchar(80) NOT NULL default '',
  id int(11) NOT NULL auto_increment,
  mailkonti char(1) NOT NULL default '',
  UNIQUE KEY id (id),
  UNIQUE KEY email (email),
  UNIQUE KEY username (username)
) TYPE=MyISAM;
<---- tabel slut --->
Avatar billede schaefner Juniormester
16. april 2003 - 21:57 #1
Hvad er det der ikke virker?

<?
mysql_connect ("localhost", "test","test");
mysql_select_db ("test");
$sql = mysql_query("SELECT COUNT(*) AS mailkonti FROM profiler WHERE id=$id") or die(mysql_error());
$row = mysql_fetch_array($sql);
if ($row[mailkonti] == 5); {
    echo "Du har oprettet 5 kontoer hvilket er maximum";
  } else {
    mysql_query("UPDATE profiler SET mailkonti = mailkonti+1 WHERE id=$id") or die(mysql_error());
    header("location: mail.php?id=$id");
}
?>
Avatar billede schaefner Juniormester
16. april 2003 - 21:58 #2
if ($row[mailkonti] == 5); {
skal være:
if ($row[mailkonti] == 5) {
Avatar billede schaefner Juniormester
16. april 2003 - 22:00 #3
Prøv den og skriv hvad den melder tilbage.
Avatar billede erikjacobsen Ekspert
16. april 2003 - 22:02 #4
Schaefners skal rettes, og er der stadig bøvl så prøv en
  $id=$_GET['id'];
øverst på din side
Avatar billede kdys Nybegynder
16. april 2003 - 22:07 #5
if ($row[mailkonti] == 5); {
    echo "Du har oprettet 5 kontoer hvilket er maximum";
virker ikke
Avatar billede schaefner Juniormester
16. april 2003 - 22:07 #6
fjern ";"
Avatar billede kdys Nybegynder
16. april 2003 - 22:12 #7
hvorfra ??
Avatar billede schaefner Juniormester
16. april 2003 - 22:13 #8
if ($row[mailkonti] == 5); {
Avatar billede kdys Nybegynder
16. april 2003 - 22:20 #9
ok den er væk, men den hopper vidre til
} else {
    mysql_query("UPDATE profiler SET mailkonti = mailkonti+1 WHERE id=$id") or die(mysql_error());
    header("location: mail.php?id=$id");
}

selvom den er 5
Avatar billede schaefner Juniormester
16. april 2003 - 22:47 #10
<?php
mysql_connect ("localhost", "test","test");
mysql_select_db ("test");
$id = $_GET['id'];
$sql = mysql_query("SELECT COUNT(*) AS mailkonti FROM profiler WHERE id=$id") or die(mysql_error());
$row = mysql_fetch_array($sql);
if ($row[mailkonti] == 5) {
    echo "Du har oprettet 5 kontoer hvilket er maximum";
  } else {
    mysql_query("UPDATE profiler SET mailkonti = mailkonti+1 WHERE id=$id") or die(mysql_error());
    header("location: mail.php?id=$id");
}
?>

Er der noget galt i den kode, erik?
Avatar billede erikjacobsen Ekspert
16. april 2003 - 22:50 #11
Man bør skrive

if ($row['mailkonti'] == 5) {

og det ville da være rart at kende felttypen på 'mailkonti', men nej,
der ser ikke ud til at være noget galt.
Avatar billede erikjacobsen Ekspert
16. april 2003 - 22:51 #12
Sorry - glem det - den er et tal
<-- skøre mig ...
Avatar billede erikjacobsen Ekspert
16. april 2003 - 22:52 #13
Måske

  if ($row['mailkonti'] >= 5) {

for hvis den allerede har oprettet mere end 5, så ... øh ...
er der mere end 5, jo.
Avatar billede kdys Nybegynder
16. april 2003 - 22:59 #14
den tæller bare løs og hopper vidre til mail.php
med begge løsninger.
Avatar billede erikjacobsen Ekspert
16. april 2003 - 23:01 #15
Ha ha, schaefner. Prøv lige at se

$sql = mysql_query("SELECT mailkonti FROM profiler WHERE id=$id") or die(mysql_error());
Avatar billede erikjacobsen Ekspert
16. april 2003 - 23:03 #16
Du bør lade dit mailkonti felt være et tal, og ikke en streng i din tabel.
Avatar billede kdys Nybegynder
16. april 2003 - 23:06 #17
Yes nu virker det
Avatar billede schaefner Juniormester
16. april 2003 - 23:07 #18
hehe ;o)
Avatar billede kdys Nybegynder
16. april 2003 - 23:14 #19
gider i at gi et svar så i kan få jeres points ??
Avatar billede erikjacobsen Ekspert
16. april 2003 - 23:15 #20
Nej, tak, jeg samler ikke points. Slet, slet ikke når problem og
løsning er så sjove som her...
Avatar billede schaefner Juniormester
16. april 2003 - 23:22 #21
Nemlig ;o)

/Jesper Sørensen
Avatar billede kdys Nybegynder
17. april 2003 - 09:55 #22
Jamen Jeg takker & bukker for jeres indsats :-)
Avatar billede schaefner Juniormester
17. april 2003 - 10:33 #23
kdys >> Hvorfor afviser du mig? Du bad mig selv lægge et svar.
Avatar billede kdys Nybegynder
17. april 2003 - 22:49 #24
Sorry så misforstod jeg noget.

se her http://www.eksperten.dk/spm/341709
Avatar billede schaefner Juniormester
17. april 2003 - 22:51 #25
Det var bare eriks kommentar angående spørgsmålet jeg kommenterede. Misforståelser sker jo ;o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester