[ ozrenp @ 28.03.2007. 21:18 ] @
Pozdrav,

negdje sam napravio brljotinu,

naime, potrebno mi je da se, nakon sto kkorisnik popuni trzne podatke i klikne na POSALJI, izvrsi redirekcija na stranicu nazavnu npr. poslato.php na kojoj zatim prikaze IP broj korisnika, zahvalnica i hajmo reci potvrda narudzbe.

Nakon klika redirekcija se izvrsi na pocetnu stranu sajta, a to ne zelim.

Evo i koda za mail.php koji je trebao sve to da odradi pa ako neko vidi gresku...

Citat:
<?php
header("location: $sendsite");

require("variables.php");

$message = "$anrede $vorname $nachname je izvrsio porudzbu na stranici $sitename:
\nGore navedena osoba je ispunila sledece:\nVorname: $vorname\nNachname: $nachname\nFirma: $firma\nDrzava: $drzava\nAdresse: $adresse\nPLZ & Ort: $plzort $city\nTelefon: $telefon\nFax: $fax\nEmail: $email\nKunden Nummer: $kundennr\nIP adresse: $REMOTE_ADDR\nBrowser: $HTTP_USER_AGENT";


if (eregi("^([a-z]|[0-9]|\.|-|_)+@([a-z]|[0-9]|\.|-|_)+\.([a-z]|[0-9]){2,3}$", $email, $arr_vars) &&
!eregi("(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)", $email, $arr_vars)){

mail($sendto, $interesse, $message, "From: ".$email);

mail($email, "Hvala na Vasem interesovanju za nase proizvode $sitename.", $thanku." ".$thankend, "From: ".$sendto);

}

else {
echo "<div align=\"center\"><a href=\"javascript:history.back()\"><b>Greska: eMail adresa je nevazeca!</b></a></div>";
}

?>


Tu je i variables.php

Citat:
<?php
//Change the following
//Enter your site URL here
$url = "http://www.sajt.com";

//Enter the URL to the folder where the scripts reside
$site = "http://www.sajt.com";

//Enter your sitename here
$sitename = "www.sajt.at";

//Enter your email [email protected]
$sendto = "[email protected]";

//Enter the page you want your visitor redirected to after sending email (if none set to your index or contact page)
$sendsite = "poslato.php";
//This can be altered, but it is not neccesary

//Enter your thank you message here;
$thanku = "Ovim potvrdjujemo prijem Vase porudzbe.\n\n";

//Thank you email footer
$thankend = "Pokusacemo da Vam sto prije posaljemo proizvode koje ste narucili.
\n$sitename ";

$interesse ="Nova poruka";
?>


Hvala jos jednom
[ Miroslav Ćurčić @ 28.03.2007. 21:47 ] @
Zato što prvo zoveš Header/Location sa promenljivom koju tek u sledećem redu inicijalizuješ.
Po stoti put: koristite error_reporting(E_ALL);

Druga greška je što uopšte pozivaš header na početku skripta jer nema garancije da će se kod koji sledi uopšte izvršiti, u stvari hoće ali moraš biti siguran da je uključeno baferovanje izlaza a ne vidim u tvom kodu da ga uključuješ. Obično se to radi na kraju skripta.
[ ozrenp @ 28.03.2007. 21:51 ] @
Khm, jel mozes da prepravis kod i da ga zalijepis ovde? Nisam ti ja bas u ovom nesto... Tacnije samo sam ispravljao neke podatke i vjerovato sam nesto nesvjesno obrisao/ostetio/ili sta vec od koda.

Rekoh vec - BRLJOTINA.

[ erno @ 28.03.2007. 22:02 ] @
pa hajd da kazemo da probas koristiti ovo:

echo "<script>location='vrati_me_na_neku_stranicu.php';</script>"

posto header bi se trebao u tvom slucaju koristiti na kraju tvoje skripte a posto ti printas html iz svoje skripte (laicki receno) ne mozes koristiti ovaj nacin redirektovanja pa uzmi ovaj koji sam vec napisao.
[ ozrenp @ 29.03.2007. 05:37 ] @
A gdje to da uglavim?

:(
[ Nemanja Avramović @ 29.03.2007. 11:00 ] @
Tamo gde hoćeš da se izvrši redirekcija.
[ ozrenp @ 29.03.2007. 16:29 ] @
Hvala puno momci :)
Sve radi za pet :)

Ovako sam uglavio:

Citat:
<?php


require("variables.php");

$message = "$anrede $vorname $nachname je izvrsio porudzbu na stranici $sitename:
\nGore navedena osoba je ispunila sledece:\nVorname: $vorname\nNachname: $nachname\nFirma: $firma\nDrzava: $drzava\nAdresse: $adresse\nPLZ & Ort: $plzort $city\nTelefon: $telefon\nFax: $fax\nEmail: $email\nKunden Nummer: $kundennr\nIP adresse: $REMOTE_ADDR\nBrowser: $HTTP_USER_AGENT";

if (eregi("^([a-z]|[0-9]|\.|-|_)+@([a-z]|[0-9]|\.|-|_)+\.([a-z]|[0-9]){2,3}$", $email, $arr_vars) &&
!eregi("(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)", $email, $arr_vars)){

mail($sendto, $interesse, $message, "From: ".$email);

mail($email, "Hvala na Vasem interesovanju za nase proizvode $sitename.", $thanku." ".$thankend, "From: ".$sendto);

}

else {
echo "<div align=\"center\"><a href=\"javascript:history.back()\"><b>Greska: eMail adresa je nevazeca!</b></a></div>";
}
echo "<script>location='poslato.php';</script>"
?>
[ Jezdimir Lončar @ 31.03.2007. 10:30 ] @
Al si zakomplikovao sa regex -ovima ...
Anyway, ja kad ne mogu da koristim header(); za redirect (ako koristim funkcije koje vec salju HTML headere) koristim meta tag.
Onda mogu da lakse preciziram (mada moze i u JSu) za koliko ce se to preusmjeriti:
Evo taga:
Code:

<meta http-equiv="refresh" content="0;URL=strana.php" />

0 ti je broj sekundi za redirekciju.
A u php-u:
Code:

echo "<meta http-equiv=\"refresh\" content=\"0;URL=strana.php\" />";

Pozdrav.
[ erno @ 01.04.2007. 10:13 ] @
mozes sa setTimeout funkcijom, prvi parametar broj ms za koje hoces da se izvrsi drugi parametar, a drugi parametar moze biti bilo sta druga funkcija ili neki statement ;-)