Átirányítás probléma autorespondernél

Átirányítás probléma autorespondernél
2007-05-06T03:58:46+02:00
2007-05-07T19:22:50+02:00
2022-11-04T12:10:35+01:00
Rockxy
Van egy nagyon jó scriptem, ami levelet küld honlapról(nekem) és válaszol is azonnal, egy előre megírt sablon levelet küld az érdeklődőnek.
Az a gondom vele, hogy mikor lefut a script, utána megáll. Nem tölti be azt az oldalt, ahová irányítani akarom.
Itten van:
<html>
<head>
<?php
$recipientname = "Weblapodról";
$recipientemail = "állomás@uw.hu";
$subject = "Email Tárgya";
$autoresponse = "yes";
$autosubject = "Automatikus email tárgya!";
$automessage = "Ide adhatsz meg egy automatikus email szöeveget. Ez egy

megerősítés lehet, hogy a mail sikeresen kézbesítve is lett.";

?>
<style type="text/css"><!--
td,body,input,textarea {
font-size:12px;
font-family:Verdana,Arial,Helvetica,sans-serif;
color:#000000}
--></style>
<meta name="generator" content="Namo WebEditor v5.0">
</head>
<body>
<table width="100%" height="100%"><tr>
<td valign="top">
<font face="Verdana,Arial,Helvetica" size="2"><?php
if($_POST['submitform']) {
$Name = $HTTP_POST_VARS['Name'];
$Email = $HTTP_POST_VARS['Email'];
$Comments = $HTTP_POST_VARS['Comments'];
$dcheck = explode(",",$require);
while(list($check) = each($dcheck)) {
if(!$$dcheck[$check]) {
$error .= "Hiányos adat: $dcheck[$check]<br>";
}
}
if ((!ereg(".+\@.+\..+", $Email)) || (!ereg("^[a-zA-Z0-9_@.-]+$", $Email))){
$error .= "Hibás email <br>";}
if($error) {
?>
<b>Hiba</b><br>
<?php echo $error; ?><br>
<a href="#" onClick="history.go(-1)">Vissza</a>
<?php
}
else
{
$browser = $HTTP_USER_AGENT;
$ip = $REMOTE_ADDR;
$message = "A következő üzenet érkezett $recipientname:
Név: $Name
Email: $Email
Üzenet: $Comments

-----------------------------

Böngésző: $browser
Felhasználó IP: $ip";
mail($recipientemail,"$subject","$message","From: $Name <$Email>");
if($autoresponse == "yes") {
$autosubject = stripslashes($autosubject);
$automessage = stripslashes($automessage);
mail($Email,"$autosubject","$automessage","From: $recipientname

<$recipientemail>");
}

$weboldal = "http://vakaró.uw.hu/dia/dia01.htm";
$fajlmutato = fopen( $weboldal, "r" ) or
die("A $weboldal nem nyitható meg");
}
}
else {

?></font>

<form name="contactform" action="<?php echo $PHP_SELF; ?>" method="post">
<font face="Verdana,Arial,Helvetica" size="2"><input type="hidden" name="require"

value="Name,Email,Comments"></font>
<table><tr>
<td colspan="2" align="center"><b>Kapcsolat</b><p></td>
</tr><tr>
<td valign="top" align="right">N&eacute;v:</td>
<td valign="top"><input name="Name" size="25"></td>
</tr><tr>
<td valign="top" align="right">E-mail:</td>
<td valign="top"><input name="Email" size="25"></td>
</tr><tr>
<td valign="top" align="right">&Uuml;zenet:</td>
<td valign="top"><textarea name="Comments" rows="5"

cols="35"></textarea></td>
</tr><tr>
<td colspan="2" align="center"><input type="submit" value="Mehet"

name="submitform">
<input type="reset" value="Törlés" name="reset"> </td>
</tr></table>
<font face="Verdana,Arial,Helvetica" size="2"><br></font>
</form>
<font face="Verdana,Arial,Helvetica" size="2"><?php } ?>
</font><p></td>
</tr><tr>
<td valign="bottom">&nbsp;</td>
</tr></table>
</body>
</html>
Hibaüzit nem ír, csak megáll.
Meg lehet oldani az átirányítást a fopen-nel?
Mutasd a teljes hozzászólást!
Nagyon 1xű a megoldás a problémádra:
header ( "Location: uj_oldal.php" );
A parancs hatására a böngésződ betölti az új címet. Ezt rakd be a megfelelő helyre, és nincs szükség se fopen -re se egyéb nyalánkságokra.

Vagy ha JS -t kódot akarsz akkor pedig:
"location.href='ujoldal.php'"
Pl.: OnClick eseményhez rendelve, vagy az általad használt setTimeout parancsal kombinálva.
Mutasd a teljes hozzászólást!

  • rosszul értelmezed az fopent, az nem irányít sehova, az a memóriába betölti a filet, és kiolvashatsz belőle adatokat. mivel már van a fileodban forrás, ezért azt mondom hogy javascriptel csináld:

    echo "<script type=\"text/javascript\">setTimeout("window.location='ideiranyit.php'", 3000);</script>

    mivel gondolom hogy elakarja olvasni a user a levelet, kap 3 másodpercet :)

    vagy rosszul értem a kérdést?
    Mutasd a teljes hozzászólást!
  • Szal ez úgy van, hogy a user a postaládájában olvassa el a levelet. A script eredetijében az echo kiírat egy megnyugtató üzit, hogy a levél postázva lett. És utána leáll. Na, ezt kéne valahogy megoldani, hogy tovább lépjen, a következő oldalra.
    A SetTimeout-ot próbáltam már, de nem tudom beágyazni a PHP-be.
    A tiédet sem. Hibaüzi:
    Parse error: syntax error, unexpected '<' in /mnt/ultraweb/...
    PHP-ben nem lehet átirányítani?
    Az is megoldás lenne, ha egy linkelt szövegre, vagy egy OK gomra kattintva haladna tovább az oldal. Már ezt is próbáltam, de meg sem jelent sem a link, sem a gomb.
    Mutasd a teljes hozzászólást!
  • Nagyon 1xű a megoldás a problémádra:
    header ( "Location: uj_oldal.php" );
    A parancs hatására a böngésződ betölti az új címet. Ezt rakd be a megfelelő helyre, és nincs szükség se fopen -re se egyéb nyalánkságokra.

    Vagy ha JS -t kódot akarsz akkor pedig:
    "location.href='ujoldal.php'"
    Pl.: OnClick eseményhez rendelve, vagy az általad használt setTimeout parancsal kombinálva.
    Mutasd a teljes hozzászólást!
  • Ezt dobd ki:

    $weboldal = "http://vakaró.uw.hu/dia/dia01.htm"; $fajlmutato = fopen( $weboldal, "r" ) or die("A $weboldal nem nyitható meg");

    és Szerintem probáld meg így:

    echo "<META HTTP-EQUIV=\"refresh\" CONTENT=\"2; URL=http://vakaró.uw.hu/dia/dia01.htm">";
    Mutasd a teljes hozzászólást!
  • Location-nal szuper! Működik.
    Itt a kódrészlet, ha vkinek kell még ez a responder és kezdő.
    Hogy ne kelljen görcsölni:

    if($autoresponse == "yes") {
    $autosubject = stripslashes($autosubject);
    $automessage = stripslashes($automessage);
    mail($Email,"$autosubject","$automessage","From: $recipientname <$recipientemail>");

    }

    echo header ( "Location: uj_oldal.php" );

    }
    }
    else {
    ?></font>
    <form name="contactform" action="<?php echo $PHP_SELF; ?>" method="post">


    A javascriptet nem próbáltam, biztos müxik, de sztem az ehhez képest csak kódszaporítás.
    Tiéd a pont, remélem nem lesz sértődés belőle, mer' vót mán olyan...
    Köszönöm a megoldást.
    Figyuzz, kérdezek másikat is. Itt a php-ben.
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd