Visualizzazione risultati 1 fino 12 di 12

Discussione: [php] aiuto form mail

  1. #1
    Guest

    Predefinito [php] aiuto form mail

    caio

    ho uno script che mi deve mandare x email alla gente un certo testo:

    Codice PHP:
    {
    srand((double)microtime()*1000000);
    $ac = rand(1000, 10000);
    $name = trim($name);
    $email = trim($email1);
    $sitename = trim($sitename);
    $name = addslashes($name);
    $sitename = addslashes($sitename);
    $res = mysql_query("select value from adminprops where field='inibon'");
    $inibon = mysql_result($res, 0, "value");
    if (!isset(
    $ref) || !is_numeric($ref)) {$ref=0;}
    $date = date("Y-m-d H:i:s");
    $res = mysql_query("insert into user (name, email, passwd, ref, acctype, credits, joindate, minmax, lastaccess, ac) values ('$name', '$email', '$passwd', $ref, 1, $inibon, '$date', 1, '$date', $ac)");
    $usrid = mysql_insert_id();
    $res = mysql_query("insert into site (usrid, name, url, lang, state, credits) values ($usrid, '$sitename', '$url', '$lang', 'Waiting', 0)");
    $surpres = mysql_query("update adminprops set value=value-$inibon where field='surplu'");
    $res = mysql_query("select value from admin where field='email'");
    $admail = mysql_result($res, 0, "value");
    mail($email, "Grazie per esserti registrato a $title!", "$name, grazie per la registrazione!\n\n Il tuo $title login &egrave;: $email\nLa tua $title password &egrave;: $passwd\n\nPer attivare il tuo account devi aprire questo link:\n[B]$self_url[/B]" . "activate.php?ac=$ac&i=$usrid\nCliccalo o fai copia-incolla nel tuo browser.\n\nIl tuo refer link &egrave;:\nhttp://$siteurl?ref=$usrid\nRiceverai 0.1 crediti ogni volta che il tuo affiliato vedr&agrave; un sito!\n\n$title Admin\nhttp://$siteurl/\n$admail", "From: \"$title Admin\" <$admail>");
    echo(
    "<p align=center class=\"big\">Grazie per la registrazione!</p>");
    echo(
    "<p align=center>Il link di attivazione &egrave; stato spedito a $email.</p>");
    }
    il mio problema e' che nell'email non mi passa il $self_url, dichiarato nel file vars.php ( incluso include($DOCUMENT_ROOT . '/vars.php'); all'inizio di questo file)
    ho notato che non mi passa anche altre variabili (dichiarate nel file $adminmail e altra...)
    che devo mettere a posto?
    Ultima modifica di phpone : 06-07-2006 alle ore 15.15.14

  2. #2
    Guest

    Predefinito

    forse è meglio che posti tutto il codice che ci interessa altrimenti non si viene a capo di niente

  3. #3
    Guest

    Predefinito

    Codice PHP:
    <?php
    include("header.php");

    include(
    $DOCUMENT_ROOT . '/vars.php');
    include(
    $DOCUMENT_ROOT . '/headfoot.php');
    mysql_connect($db_host, $db_user, $db_pwd);
    mysql_select_db($db_name);
    if (
    $QUERY_STRING == 'terms') {

    echo(
    "<div align=\"center\" class=\"big\">Termini e condizioni del servizio</div><br><br> - Le Regole possono cambiare<br>- I siti non contengono contenuti per adulti<br>- I siti non contengono finestre con messaggi<br>- I siti non contengono contenuti inappropriati<br>- I siti non interferiscono con i frame<br>- I siti non contengono rotazioni di siti<br>- I siti non contengono contatori gratuiti che installano dialer, aprono finestre popup e simili<br>- I siti non contengono reindirizzamenti<br>- Il tuo account verr&agrave; eliminato se non potremo inviarti email<br>- Il tuo account verr&agrave; disabilitato se causa problemi al circuito<br>- Il tuo sito non deve contenere finestre di pop-up, pop-under, finestre di ActiveX, applicazioni ActiveX\n");
    $res = mysql_query("select content from html where type='terms'");
    $terms = mysql_result($res, 0, "content");
    echo(
    $terms);

    } else {
    $langs = array("Italian" => "Italian", "English" => "English", "Arabic" => "Arabic", "Chinese" => "Chinese", "Czech" => "Czech", "Danish" => "Danish", "Dutch" => "Dutch", "Estonian" => "Estonian", "Finnish" => "Finnish", "French" => "French", "German" => "German", "Greek" => "Greek", "Hebrew" => "Hebrew", "Hungarian" => "Hungarian", "Icelandic" => "Icelandic", "Japanese" => "Japanese", "Korean" => "Korean", "Latvian" => "Latvian", "Lithuanian" => "Lithuanian", "Norwegian" => "Norwegian", "Polish" => "Polish", "Portuguese" => "Portuguese", "Romanian" => "Romanian", "Russian" => "Russian", "Spanish" => "Spanish", "Swedish" => "Swedish", "Turkish" => "Turkish");
    $res = mysql_query("select content from html where type='head1'");
    $hf = mysql_result($res, 0, "content");
    //$hf = substr($hf, 12);
    echo("<html><head>\n<script language=\"javascript1.2\" type=\"text/javascript\">\nfunction TestURL()\n{\n var URL = document.nu.url.value;\n if(URL== \"\") {\n alert(\"You must provide an URL before testing!\");\n document.nu.url.focus();\n return false;\n }\n var URL = 'urltest.php?url='+URL;\n window.open(URL, '_blank' );\n return false;\n}\n</script></head>\n");
    echo(
    $hf);
    echo(
    "<div align=center class=\"big\"><font face=$fontface><b>Registrazione</b></font></div>\n");
    if (
    $form == 'sent') {
    $checkpass = 'true';
    $error = '<div align=center><font face=$fontface color=red size=2><b>Correggi i seguenti errori:<br>';
    if (
    ereg('%', $name) || ereg('<', $name) || ereg('>', $name)) {
    $error = $error . 'Il tuo nome contiene caratteri non ammessi<br>';
    $checkpass = 'false';
    }
    if (
    $name == "") {
    $error = $error . 'Devi inserire il tuo nome<br>';
    $checkpass = 'false';
    }
    $trimail = trim($email1);
    $res = mysql_query("select count(*) from user where email='$trimail1'");
    if (
    mysql_result($res, 0) != 0) {
    $error = $error . 'Il tuo indirizzo e-mail &egrave; gi&agrave; registrato<br>';
    $checkpass = 'false';
    }
    if (!
    ereg('@', $email1) || !ereg('.', $email1)) {
    $error = $error . 'Il tuo indirizzo e-mail non &egrave; valido<br>';
    $checkpass = 'false';
    }
    if (
    $email1 != $email2) {
    $error = $error . 'Il tuo indirizzo e-mail non coincide<br>';
    $checkpass = 'false';
    }
    if (
    $passwd == "") {
    $error = $error . 'Devi inserire una password<br>';
    $checkpass = 'false';
    } elseif (
    strlen($passwd) < 6) {
    $error = $error . 'La tua password deve essere minimo di 6 caratteri<br>';
    $checkpass = 'false';
    }
    if (
    ereg('%', $passwd) || ereg(' ', $passwd)) {
    $error = $error . 'La tua password contiene caratteri non ammessi<br>';
    $checkpass = 'false';
    }
    if (
    $sitename == "") {
    $error = $error . 'Devi inserire il nome del sito<br>';
    $checkpass = 'false';
    }
    if (
    ereg('%', $sitename) || ereg('<', $sitename) || ereg('>', $sitename)) {
    $error = $error . 'Il nome del tuo sito contiene caratteri non ammessi<br>';
    $checkpass = 'false';
    }
    if (
    $url == "") {
    $error = $error . 'Devi inserire l\'URL del tuo sito<br>';
    $checkpass = 'false';
    } elseif (!
    ereg('http://', $url) || ereg(' ', $url)) {
    $error = $error . 'L\'URL del tuo sito non &egrave; valido<br>';
    $checkpass = 'false';
    }
    if (
    $termscheck != 1) {
    $error = $error . 'Devi accettare i Termini e condizioni del servizio<br>';
    $checkpass = 'false';
    }
    if (
    $checkpass != 'true') {
    $error = $error . '</font></b></div>';
    echo(
    $error);
    }
    }
    if (
    $checkpass != 'true') {
    echo(
    "<table border=0 cellpadding=5 cellspacing=0 width=100%><form action=$PHP_SELF method=post name=nu><input type=hidden name=form value=sent>\n");
    if (isset(
    $ref) && is_numeric($ref)) {
    echo(
    "<input type=hidden name=ref value=$ref>");
    }
    echo(
    "<tr><td width=50% align=right valign=top><font face=$fontface size=2>Il tuo nome:</td><td width=50% align=left valign=top><input value=\"$name\" type=text name=name size=20 maxlength=100></td></tr>\n");
    echo(
    "<tr><td align=right valign=top><font face=$fontface size=2>Il tuo indirizzo E-mail:</td><td align=left valign=top><input value=\"$email1\" type=text name=email1 size=20 maxlength=100></td></tr>\n");
    echo(
    "<tr><td align=right valign=top><font face=$fontface size=2>Riscrivi il tuo indirizzo E-mail:</td><td align=left valign=top><input value=\"$email2\" type=text name=email2 size=20 maxlength=100></td></tr>\n");
    echo(
    "<tr><td align=right valign=top><font face=$fontface size=2>Password:</td><td align=left valign=top><input value=\"$passwd\" type=password name=passwd size=20 maxlength=20></td></tr>\n");
    echo(
    "<tr><td align=right valign=top><font face=$fontface size=2>Il nome del tuo sito:</td><td align=left valign=top><input value=\"$sitename\" type=text name=sitename size=20 maxlength=255></td></tr>\n");
    echo(
    "<tr><td align=right valign=top><font face=$fontface size=2>L\' url del tuo sito:</td><td align=left valign=top><input value=\"$url\" type=text name=url size=20 maxlength=255></td></tr>\n");
    echo(
    "<tr><td></td><td align=left valign=top><A href=\"\" onclick=\"return TestURL();\"><b><font color=blue onmouseover=\"this.style.color='black'\" onmouseout=\"this.style.color='blue'\" face=$fontface size=2 style=\"text-decoration: none\">Clicca qu&igrave; per testare il tuo URL</font></b></a></td></tr>");
    echo(
    "<tr><td align=right valign=top><font face=$fontface size=2>Lingua del tuo sito:</td><td align=left valign=top><select name=lang>");
    while (list(
    $k, $v) = each($langs)) {
    echo(
    "<option");
    if (
    $k == $lang) {echo(" selected");}
    echo(
    " value=$k>$v</option>");
    }
    echo(
    "</select></td></tr>\n");
    echo(
    "<tr><td align=center valign=top colspan=2><input type=checkbox");
    if (
    $termscheck == 1) {echo(" checked");}
    echo(
    " name=termscheck value=1><font face=$fontface size=2> Accetto i <a href=$PHP_SELF?terms target=_blank><b><font face=$fontface color=blue size=2 style=\"text-decoration: none\">termini e le condizioni</b></a> del servizio</td></tr>\n");
    echo(
    "<tr><td align=center valign=top colspan=2><b><font face=$fontface size=2><b><font color=red>Attenzione:</font></b> Il tuo sito non deve contenere pop-up, non deve uscire dal frame e non deve usare redirect!</b></td></tr>\n");
    echo(
    "<tr><td align=center valign=top colspan=2><input type=submit value=\"Registra!\"></td></tr>\n");
    echo(
    "</form></table>\n");
    } else {
    srand((double)microtime()*1000000);
    $ac = rand(1000, 10000);
    $name = trim($name);
    $email = trim($email1);
    $sitename = trim($sitename);
    $name = addslashes($name);
    $sitename = addslashes($sitename);
    $res = mysql_query("select value from adminprops where field='inibon'");
    $inibon = mysql_result($res, 0, "value");
    if (!isset(
    $ref) || !is_numeric($ref)) {$ref=0;}
    $date = date("Y-m-d H:i:s");
    $res = mysql_query("insert into user (name, email, passwd, ref, acctype, credits, joindate, minmax, lastaccess, ac) values ('$name', '$email', '$passwd', $ref, 1, $inibon, '$date', 1, '$date', $ac)");
    $usrid = mysql_insert_id();
    $res = mysql_query("insert into site (usrid, name, url, lang, state, credits) values ($usrid, '$sitename', '$url', '$lang', 'Waiting', 0)");
    $surpres = mysql_query("update adminprops set value=value-$inibon where field='surplu'");
    $res = mysql_query("select value from admin where field='email'");
    $admail = mysql_result($res, 0, "value");
    mail($email, "Grazie per esserti registrato a $title!", "$name, grazie per la registrazione!\n\n Il tuo $title login &egrave;: $email\nLa tua $title password &egrave;: $passwd\n\nPer attivare il tuo account devi aprire questo link:\n$self_url" . "activate.php?ac=$ac&i=$usrid\nCliccalo o fai copia-incolla nel tuo browser.\n\nIl tuo refer link &egrave;:\nhttp://$siteurl?ref=$usrid\nRiceverai 0.1 crediti ogni volta che il tuo affiliato vedr&agrave; un sito!\n\n$title Admin\nhttp://$siteurl/\n$admail", "From: \"$title Admin\" <$admail>");
    echo(
    "<p align=center class=\"big\">Grazie per la registrazione!</p>");
    echo(
    "<p align=center>Il link di attivazione &egrave; stato spedito a $email.</p>");
    }
    }
    mysql_close;
    include(
    "footer.php");
    ?>
    cmq ho problemi solo nella parte finale...
    non mi prende le variabili che gli passo e non le manda nell'email!

  4. #4
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Prova a sostituire $DOCUMENT_ROOT con $_SERVER['DOCUMENT_ROOT'] oppure con /membri/phpone (o al posto di membri metti membri2).
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  5. #5
    Guest

    Predefinito

    ho messo $_SERVER['DOCUMENT_ROOT'] ma non funzia lo stesso...
    nell'email che invia mi manda questo:

    Per attivare il tuo account devi aprire questo link:
    activate.php?ac=7651&i=0
    Cliccalo o fai copia-incolla nel tuo browser.

    ma prima di activate.php mi dovrebbe mettere la var $self_url

  6. #6
    L'avatar di Leo91
    Leo91 non è connesso Altervistiano Junior
    Data registrazione
    28-03-2004
    Residenza
    alle tue spalle
    Messaggi
    728

    Predefinito

    Citazione Originalmente inviato da phpone
    ho messo $_SERVER['DOCUMENT_ROOT'] ma non funzia lo stesso...
    nell'email che invia mi manda questo:

    Per attivare il tuo account devi aprire questo link:
    activate.php?ac=7651&i=0
    Cliccalo o fai copia-incolla nel tuo browser.

    ma prima di activate.php mi dovrebbe mettere la var $self_url
    Se mandi $_SERVER['PHP_SELF'] (che dovrebbe darti http://phpone.altervista.org) + la cartella + il nome della pagina .php funzia?

    (echo "$_SERVER['PHP_SELF']/cartella/activate.php?ac=1234&i=0")

  7. #7
    Guest

    Predefinito

    no non funzia!

  8. #8
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Ma hai provato la mia seconda soluzione?
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  9. #9
    Guest

    Predefinito

    fai un echo dei valori che inserisci in include e vedi il risultato che torna, per vedere se il percorso è giusto.

    Altrimenti puo' essere che il problema sia nel file vars.php

    Ma da dove viene $email1?
    Ultima modifica di sql : 07-07-2006 alle ore 09.24.20

  10. #10
    Guest

    Predefinito

    Citazione Originalmente inviato da funcool
    Prova a sostituire $DOCUMENT_ROOT con $_SERVER['DOCUMENT_ROOT'] oppure con /membri/phpone (o al posto di membri metti membri2).
    uh,
    sapete che ho fatto?

    ho tolto $DOCUMENT_ROOT
    e ho lasciato include("vars.php");

    ora funzia!!!

    ciao e grazie a tutti per l'aiuto

  11. #11
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Prego, molte volte si lotta con degli errori che sono solo di distrazione.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  12. #12
    L'avatar di seneca
    seneca non è connesso Super Moderatore
    Data registrazione
    18-12-2004
    Residenza
    la Città Eterna
    Messaggi
    8,376

    Predefinito

    Posso chiudere.
    Ciao!


    -- Aut Roma Aut Nihil!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •