PHP fóra: Builder | JakPsatWeb | Webtrh
Nejste přihlášen(a)
Ahoj,
potřeboval bych pomoci s php skriptem, o který se marně pokoušim. Situace
se má takto, jedná se o mail skrip. Mám rozběhlou kompilaci apache, na
jednom konkrétnim portu. Z index.html odkazuju <p><a
HREF=„cgi-bin/email.php“>Zde</a> je odkaz na muj email
skript</p> na skript ve složce cgi-bin.
skript vypada takto
#!/home/XXXXX/php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='cs'>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<title>Odesílání emailu</title>
</head>
<body>
<h1>Odesílání emailu</h1>
<form action="posli.php" method="post">
<input name="email" size="25" value="XXXXXXXX@XXXXX.XX"><br>
<input name="predmet" size="25" value="Předmět"><br>
<input name="spam" size="25"> <strong>= 1 + 1</strong><br>
<textarea name="zprava" rows="6" cols="55">Zpráva...</textarea><br>
<input type="submit" value="Odeslat">
</form>
</body>
</html>
a pricemz pres tento skript by se meli pouze pres formular odeslat data do tohoto skriptu:
#!/home/XXXXXXX/php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='cs'>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<title>Odesílání emailu</title>
</head>
<body>
<h1>Odesílání emailu</h1>
<?PHP
$predmet = $_POST['predmet'];
$email = $_POST['email'];
$spam = $_POST['spam'];
$zprava = $_POST['zprava'];
if ($predmet!="" and $email!="" and $zprava!="" and $spam=="2")
{
Mail("vase@adresa.com", $predmet, $zprava, "From: " . $email);
echo "<p><strong>Váš e-mail byl úspěšně odeslán</strong>.</p>";
}
else
{
echo "<p>Váš e-mail se <strong>nepodařilo odeslat</strong> pravděpodobně jste nevyplnili všechny údaje, nebo nevíte kolik je 1 + 1.</p>";
}
?>
</body>
</html>
bohužel když kliknu na odkaz pres browser, tak mi to vyhodi:
500 Internal Server Error
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, you@example.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log. \---
A v error logu je:
[Sun Dec 13 11:10:51 2009] [error] [client 213.220.230.34] Premature end of script headers: email.php, referer: http://XXXXXX.cz:XXXXX/ \---
Prosim o pomoc. Děkuju moc
Proc to resis pres CGI-BIN?
Funguje ti v prohlizeci nejake PHP? Napr phpinfo() ?
Proc je na zacatku #!/home/XXXXX/php ?
@vodrda: příště si založ nové vlákno…
<code><pre>
<?php include("text.txt"); ?>
</pre></code>
Sorry my bad english.
Vrtak-CZ | Ace
IT | Osobní
Blog | Twitter
| LinkedIn | GitHub | Nella Project |
Hledáte
práci?
„Nastala chyba která neměla nastat“ aneb „Když se chce
všechno jde.“
<code><pre><?php include("text.txt");?></pre></code>
Dík Patriku Votoček za pomoc fakt mi to pomohlo.
Editoval vodrda (6. 5. 2011 9:23)
Potřeboval bych poradit snažim se odhlásit uživatele v MySQL+PHP
z tabulky online
Zde je CODE
<?php
session_start();
isset($_SESSION['SESS_MEMBER_ID']);
$id = $_SESSION['SESS_MEMBER_ID'];
mysql_connect("mysql1.000webhost.com","a5265353_chatbot", "wakefield1") or die(mysql_error());
mysql_select_db("a5265353_chatlog") or die(mysql_error());
if($_GET["odeslano"])
{
$result = mysql_query("UPDATE users SET online='0' WHERE member_id='$id'");
header( "refresh:1;url=http://djkowish.web44.net/" );
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Dj kowish's websites - LOGOUT</title>
<link href="loginmodule.css" rel="stylesheet" type="text/css" />
<?php include ("meta.inc");?>
</head>
<body background="../images/images.jpg">
<center><h1>Opravdu odhlásit?</h1>
<form action="<?print $_SERVER["PHP_SELF"]?>">
<input type="hidden" name="odeslano" value="1">
<input type="submit" value="Odhlásit">
</form>
</body>
</html>
ale problém je v tom, že mi to DB neaktualizuje.
Vím, že mám chybu v tom jak se odkazuji na member_id.
Nevíte jak se dá zjistit ID jiným spůsobem než ho používám já
vodrda: U té update query ti chybí klauzule, kterou máš u toho zbytku:
or die(mysql_error());. Takže v ní může něco selhat a ty se
to nedozvíš.
Už jsem to vyřešil stačilo zjistit IP přihlášeného a potom ho na
základě IP uložené v DB odhlásit.
Pro jistotu jsem si query ošetřil „or die(mysql_error())“ jak navrhoval
Ondřej, ale v tom nebyl problém.
<?php
$Adresa = $_SERVER['REMOTE_ADDR'];
$ipdef = "000.000.000.000";
mysql_connect("mysql1.000webhost.com","a5265353_chatbot", "wakefield1") or die(mysql_error());
mysql_select_db("a5265353_chatlog") or die(mysql_error());
if($_GET["odeslano"])
{
$result = mysql_query("UPDATE users SET online='0' WHERE ip='$Adresa'") or die(mysql_error());
$result = mysql_query("UPDATE users SET ip='$ipdef' WHERE online='0'") or die(mysql_error());
header( "refresh:1;url=http://djkowish.web44.net/" );
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Dj Kowish websites - LOGOUT</title>
<link href="loginmodule.css" rel="stylesheet" type="text/css" />
<?php include ("meta.inc");?>
</head>
<body background="../images/images.jpg">
<center><h1>Opravdu odhlásit?</h1>
<form action="<?print $_SERVER["PHP_SELF"]?>">
<input type="hidden" name="odeslano" value="1">
<input type="submit" value="Odhlásit">
</form>
</body>
</html>
Je rozumné uvádět hesla pro mysql_connect()? ;-)
Ondřej Brejla
Je rozumné uvádět hesla pro mysql_connect()? ;-)
Je to nutné, jinak by jsi se asi k DB nepřipojil.
vodrda napsal(a):
Je to nutné, jinak by jsi se asi k DB nepřipojil.
Ano, to je pádný důvod…:-)
Nicméně ti doporučuji to heslo smazat…zvlášť, když se přes něj dá dostat k administraci hostingu…hmm…
Editoval Ondřej Brejla (18. 5. 2011 17:33)
To: black&white
tady máš link na stažení mail scriptu
http://djkowish.web44.net/…ilscript.zip
mělo by ti to fungovat bez problémů
Ondřej Brejla napsal(a):
vodrda napsal(a):
Je to nutné, jinak by jsi se asi k DB nepřipojil.
Ano, to je pádný důvod…:-)
Nicméně ti doporučuji to heslo smazat…zvlášť, když se přes něj dá dostat k administraci hostingu…hmm…
No mě to je celkem jedno že tam to heslo je, protože to mám na ftp chráněném loginem a heslem
Stejně potřebuji pomoct s time()
když dám tohle
$datum = Date("j.m.Y - H:i:s", time());
a následně se na $datum odvolám
$result = mysql_query("UPDATE users SET time='$datum' WHERE login='$login'");
updateuje mi to sice čas v DB ale o 6 hodin menší,
jak mám docílit toho aby my to updateovalo správný čas
vodrda napsal(a):
No mě to je celkem jedno že tam to heslo je, protože to mám na ftp chráněném loginem a heslem
Prosím tě, co máš chráněné? Chráněné nemáš vůbec nic…to ti sem mám plácnout screen z ftpka? Nebo z administrace hostingu? Mám ti smáznout ftp? Nebo co mám udělat? :-D
…hele…mně je to šumák…jen jsem ti chtěl pomoct, ale komu není rady…
vodrda napsal(a):
Stejně potřebuji pomoct s time()
když dám tohle
$datum = Date("j.m.Y - H:i:s", time());a následně se na $datum odvolám
$result = mysql_query("UPDATE users SET time='$datum' WHERE login='$login'");updateuje mi to sice čas v DB ale o 6 hodin menší,
jak mám docílit toho aby my to updateovalo správný čas
Neni mozne, ze mas na serveru nastavenou jinou casovou zonu?
Je to předávané datum ve správným formátu? Neměl bys tam předat
ještě časovou zónu (ve smyslu „+0200“)? Máš správně nastavenou PHP
funkci date_default_timezone_set?