Topic: Jag har lite problem med kod!

Hej jag undrar om det är någon som kan se vad det är för fel på detta Medlems brev - script, jag kan inte få det till att fungera, han som har gjort det säger att det fungerar bra hos honom!
admin.php:

<?
session_start();
include("data.php");
$conn = mysql_connect("$dbhost", "$dbuser", "$dbpass");
$week = date("W");
$week_next = ($week + 1);

if ($_GET['loggain'] == "yes") {
    if (($_POST['user'] == $login) && ($_POST['losen'] == $pass)) {
        setcookie ("admin","online", time()+3600);
        header("location: admin.php");
    } else {
        echo "<font face='verdana' size='1' color='#000000'>fel användarnamn eller lösenord</font><br>";
    }
}
print "<table width='100%' height='100%' cellpadding='0' cellspacing='0'>
<tr>
<td width='100%' height='100%' align='center' valign='middle'>
<table width='200' height='100' bgcolor='#666666' cellpadding='4' cellspacing='1'>
<tr>
<td width='100%' height='100%' bgcolor='#E8E8E8' valign='top' align='left'>";

if ($_COOKIE['admin'] == "online") {

if ($_GET['send'] == "true") {
    $find = mysql_db_query("$databas", "select * from nyhet_members ORDER BY id DESC") or exit(mysql_error());
    while ($r = mysql_fetch_array($find)) {
        mail($r['email'], $_POST['rubrik'], $_POST['msg'], "From: ".$_POST['emailto']);
    }
    header("Location: admin.php?sended=true");
}

?>
<font face='verdana' size='1' color='#000000'>
<?
if ($_GET['sended'] == "true") {
    echo "<b>Skickat!<br><br></B>";
}
?>
<B>INFO:<Br></B>Här skickar du ditt nyhets brev Till <b>ALLA</B> som är medlem.<br>
<form action="admin.php?send=true" method="post" onSubmit="submitonce(this)">
<b>Rubrik:</B><br>
<input type="text" name="rubrik" cols="30"><br>
<b>Din Email:</B><br>
<input type="text" name="emailto" cols="30"><br>
<b>Meddelande:</B><br>
<textarea rows="10" name="msg" cols="30"></textarea>

<br></font>
<input type="submit" value="Send">
</form>
<?

} else {


?>
<head>
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<form action="admin.php?loggain=yes" method="post">
<table width="157" border="0" cellspacing="0" cellpadding="0" height="38">
    <tr height="19">
        <td align="right" valign="top" width="84" height="19"><font face='verdana' size='1' color='#000000'>användarnamn:</font></td>
        <td align="left" valign="top" width="83" height="19"><input type="text" name="user" size="10"></td>
    </tr>
    <tr height="19">
        <td align="right" valign="top" width="84" height="19"><font face='verdana' size='1' color='#000000'>lösenord:</font></td>
        <td align="left" valign="top" width="83" height="19"><input type="password" name="losen" size="10"></td>
    </tr>
</table>
<input type="submit" value="Logga In"  border="0">
</form>
<? } ?>
</td>
</tr>
</table>
<table width="200" height="10" cellpadding="0" cellspacing="1">
<tr>
<td width="100%" height="100%" valign="top" align="right">
<font face="verdana" size="1" color="#000000">Script by <a href="mailto:webmaster@dis-vision.com">Luddep</a><br><a href="index.php">Back <<</a></font>
</td>
</tr>
</table>
</td>
</tr>
</table>

If you never ask U never learn! I do and nothing happend. :)

Re: Jag har lite problem med kod!

Det finns fler delar, även en index.php som inte heller fungerar som jag vill! Dessa delar finns: skapa.php det fungerar bra (skapar en mysql databas) data.php som jag har ändrat till mina inställningar, (används till databasen) men här kommer index.php:

<?
include("data.php");
$conn = mysql_connect("$dbhost", "$dbuser", "$dbpass");
$week = date("W");
$yesterday = date('Y-m-d', time() -(60*60*24));

mysql_select_db($databas);


if ($_GET['join'] == "true") {
    $q = mysql_query ("SELECT * FROM nyhet_members WHERE ip = '$REMOTE_ADDR'") or exit(mysql_error());
    $r = mysql_fetch_array ($q);
    if ($r[ip]) {
        header("Location: index.php?error=ip");
        die();
    } else {
        mysql_db_query($databas, "INSERT nyhet_members (email, ip) VALUES ('".$_POST['email']."', '$REMOTE_ADDR')") or exit(mysql_error());
        header("Location: index.php?reggad=true");
        die();
    }
}
if ($_GET['exit'] == "true") {
    $q = mysql_query ("DELETE FROM nyhet_members WHERE email = '".$_POST['emaildel']."' AND ip = '$REMOTE_ADDR'") or exit(mysql_error());
        header("Location: index.php?exited=true");
        die();
}

?>
<table width="100%" height="100% cellpadding="0" cellspacing="0">
<tr>
<td width="100% height="100%" align="center" valign="middle">
<table width="200" height="100" bgcolor="#666666" cellpadding="4" cellspacing="1">
<tr>
<td width="100%" height="100%" bgcolor="#E8E8E8" valign="top" align="left">
<?
if ($_GET['error'] == "ip") {
    echo "<font color='red' size='1' face='verdana'><B>ERROR:</B> Du får bara bli medlem med En Email adress.</font><br>";
}
if ($_GET['reggad'] == "true") {
    echo "<font color='#000000' size='1' face='verdana'>Du har nu blivit registrerad.</font><br>";
}
if ($_GET['exited'] == "true") {
    echo "<font color='#000000' size='1' face='verdana'>Du har nu Lämnat Nyhetsbrevet.</font><br>";
}
?>
<font color='#000000' size='1' face='verdana'>
Email Adresser i Databasen: <B><? $count = mysql_db_query("$databas", "select count(*) from nyhet_members") or exit(mysql_error()); echo mysql_result($count, 0); ?>
</B><br><br>
<B>Bli medlem:</B><br>
<form action="index.php?join=true" method="post" onSubmit="submitonce(this)">
<b>Email:</B><br><input type="text" name="email" cols="20">
<input type="submit" value="Send">
</form>
<br>
<B>Gå Ur:</B><br>
<form action="index.php?exit=true" method="post" onSubmit="submitonce(this)">
<b>Email:</B><br><input type="text" name="emaildel" cols="20">
</font>
<input type="submit" value="Send">
</form>
</td>
</tr>
</table>
<table width="200" height="10" cellpadding="0" cellspacing="1">
<tr>
<td width="100%" height="100%" valign="top" align="right">
<font face="verdana" size="1" color="#000000">Script by <a href="mailto:webmaster@dis-vision.com">Luddep</a><br><a href="admin.php">Admin <<</a></font>
</td>
</tr>
</table>
</td>
</tr>
</table>

If you never ask U never learn! I do and nothing happend. :)

Re: Jag har lite problem med kod!

Du kan väl börja med att säga vad det är som inte funkar och om du får några eventuellt felmeddelanden.

"Programming is like sex: one mistake and you have to support it for the rest of your life."

Re: Jag har lite problem med kod!

Det ska jag! När jag kör admin.php och loggar in så får jag följande meddelande!
Warning: Cannot modify header information - headers already sent by (output started at /home/vak/www.vak.nu/Nyhets brev/data.php:13) in /home/vak/www.vak.nu/Nyhets brev/admin.php on line 10

Warning: Cannot modify header information - headers already sent by (output started at /home/vak/www.vak.nu/Nyhets brev/data.php:13) in /home/vak/www.vak.nu/Nyhets brev/admin.php on line 11

If you never ask U never learn! I do and nothing happend. :)

Re: Jag har lite problem med kod!

När jag kör index.php och registrerar en e-mail adress får jag följande felmeddelande:

Warning: Cannot modify header information - headers already sent by (output started at /home/vak/www.vak.nu/Nyhets brev/data.php:13) in /home/vak/www.vak.nu/Nyhets brev/index.php on line 14

If you never ask U never learn! I do and nothing happend. :)

6 (edited by Tony Bratt 2003-10-12 20:05)

Re: Jag har lite problem med kod!

Gå in och testa på: http://********************index.php
http://*******************admin.php
login:login
pass:password

*Jag har tagit bort sidan då den inte längre gäller!

If you never ask U never learn! I do and nothing happend. :)

Re: Jag har lite problem med kod!

Jag måste få se data.php också. Det är något på rad 13 som ställer till det. Den gör lite output där och därför fungerar inte anropen till header().

"Programming is like sex: one mistake and you have to support it for the rest of your life."

Re: Jag har lite problem med kod!

Här kommer data.php:
<?
//mysql info

$dbhost = "localhost"; //mysql-server
$dbuser = "vak"; //username
$dbpass = ""; //password
$databas = "test"; //database

//Login till admin

$login = "login";
$pass = "ECBBBBdy";
?>

If you never ask U never learn! I do and nothing happend. :)

Re: Jag har lite problem med kod!

Se till att du inte har några mellanslag eller radbrytningar efter ?>

"Programming is like sex: one mistake and you have to support it for the rest of your life."

10 (edited by Tony Bratt 2003-10-11 16:23)

Re: Jag har lite problem med kod!

Tack! Det var det som var felet! ett litet mellanslag, tänk vad det kan ställa till!
Nu har jag ett litet nytt problem med scriptet! när jag skickar mail till medlemmarna dyker det upp ett felmeddelande till, men mailen kommer fram.
Här är meddelandet :

Warning: Cannot modify header information - headers already sent by (output started at /home/vak/www.vak.nu/nyhetsbrev/admin.php:21) in /home/vak/www.vak.nu/nyhetsbrev/admin.php on line 30

Vad kan det bero på?

If you never ask U never learn! I do and nothing happend. :)

Re: Jag har lite problem med kod!

Det där är däremot pga ett fel i skriptet.

På rad 16 i admin.php börjar en print-sats som sträcker sig till rad 21. Denna print-sats körs alltid. Sedan några rader längre ner (rad 30) så försöker skriptet vidarebefodra användaren med en header()-sats. Det går inte om man redan har gjort output. Du kan iofs ignorerar felet då mailen ändå skickas.

"Programming is like sex: one mistake and you have to support it for the rest of your life."

Re: Jag har lite problem med kod!

Jag tog bort rad 30, och då fick jag inget felmeddelande! Det känns bättre! Tack!

If you never ask U never learn! I do and nothing happend. :)

Re: Jag har lite problem med kod!

Som du förstår är jag mycket grön på det här! Hur ska koden se ut om jag vill kolla vilka som har registrerat sig i databasen. Du kan se i admin.php hur scriptet använder sig av e-mail adressen när den ska skicka, men hur kan jag se vilka som är registrerade i databasen.

Typ:reg.php --> visar en tabell i webbläsarfönstret vilka e-mail adresser som finns registrerade!

If you never ask U never learn! I do and nothing happend. :)

Re: Jag har lite problem med kod!

Nu vet jag inte hur databasstrukturen ser ut, men prova det här:

<?php

include("data.php");
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
mysql_select_db($databas, $conn);

$result = mysql_query("select * from nyhet_members") or exit(mysql_error());
while ($r = mysql_fetch_array($find))
    print $r['email'].'<br>';

?>

"Programming is like sex: one mistake and you have to support it for the rest of your life."

Re: Jag har lite problem med kod!

så här ser skapa.php ut, den som skapar databasen:

<?
include("data.php");

if ($_GET['vad'] == "skapa") {
$conn = mysql_connect("$dbhost", "$dbuser", "$dbpass");
mysql_select_db($databas); mysql_query("CREATE TABLE nyhet_members (
id INT( 9 ) NOT NULL AUTO_INCREMENT,
email TEXT NOT NULL,
ip TEXT NOT NULL,
PRIMARY KEY ( id )
) TYPE=MyISAM
") or exit( mysql_error());
mysql_close($conn);

echo "<font color='blue'>installationen Klar.</font><br><br><br>";
}

?>
create the table: <a href="skapa.php?vad=skapa">YES</a><br>

När jag körde koden ovan fick jag detta felmeddelande:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/vak/www.vak.nu/reg.php on line 8

If you never ask U never learn! I do and nothing happend. :)

Re: Jag har lite problem med kod!

Det fick du för att jag var alldeles för trött när jag skrev koden. Prova det här istället:

<?php

include("data.php");
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
mysql_select_db($databas, $conn);

$result = mysql_query("select * from nyhet_members") or exit(mysql_error());
while ($r = mysql_fetch_assoc($result))
    print $r['email'].'<br>';

?>

"Programming is like sex: one mistake and you have to support it for the rest of your life."

Re: Jag har lite problem med kod!

Tack detta fungerade mycket bättre!
Jag är glad att du finns! big_smile

If you never ask U never learn! I do and nothing happend. :)