Anketin php də yoxlanması və emailə göndərilməsi

Salam,
Kiçik bir məsləhətə ehtiyacım var.
Necə etmək olar ki php anketdəki informasiyanı yoxladıqdan sonra, məlumatı
emailə gondersin?


Kateqoriya: Web skriptlər, kod həlləri . , . Qısa keçid.

Verilmiş cavablar və yazılan şərhlər (12 cavab var)

(00:01, 22/12/2011 ) #5477

Salam. Kiçik nümunə yazım:

  
<?php
if (!isset($_POST["name"]))
{
?>
<form action="" method="post">
Ad:<input type="text" name="name">
Mesaj:<input type="text" name="mesaj">
<input type="submit">
</form>
<?php
}
else
{
mail("[email protected]","Bashliq","Gelen mesaj - Ad:".$_POST["ad"]." ; Mesaj:".$_POST["mesaj"]);
}
?>
Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(00:14, 22/12/2011 ) #5478

Cavaba gore tesekkur edirem.
Men anketi üç sehifede yoxlayiram.
inscription.html

<FORM onsubmit="return validation()" id="parents" name="parents" method="post" action="traitement.php">
<INPUT id="prenom" tabIndex=10 name="prenom_p"><BR>
<INPUT id="nom" tabIndex=20 name="nom_p"><BR>

traitement.php

<ul>
		<li>Prénom :<b><?php echo $_POST['prenom_p']; ?> </b><BR></li>
		<li>Nom de parent: <b><?php echo $_POST['nom_p']; ?> </b><BR></li>
</ul>

ve butun bunlar envoi.php sehifesi vasitesile emaile gonderilmelidi, amma error: Notice: Undefined index:

envoi.php

<?php 
$ToEmail = '[email protected]'; 
$EmailSubject = 'Site contact form '; 

$prenom_p=$_POST['prenom_p']; 
$nom_p=$_POST['nom_p']; 

mail($ToEmail, $EmailSubject,$prenom_p,$nom_p);
 ?>
Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(02:10, 22/12/2011 ) #5481

1.Form submit tipli input button elementi vasitəsi ilə göndərilmir. validation() javascript funksiyası vasitəsi ilə məlumatlar göndərildiyi üçün, göndərilən məlumatlarda nə kimi dəyişiklik edildiyi bilinmir. Yaxşı olar ki validation() funksiyasının da yazasan.

2.php-də $_POST və $_GET ilə ötürülən məlumatı almazdan əvvəl məlumatın var olub olmadığını yoxlamaq lazımdı. Bunu da Admin cavabda kodlarda qeyd edib. Yenə də deyim isset()-dən istifadə et. Məlumata vara onu istifadə et, əks halda səhv yaranacaq.

3. Mail funksiyasını əgər localhost işlədirsənsə problem yaşana bilər və verilən səhvə baxmayaraq mail-in göndərilib göndərilmədiyinə əmin ol.

<?php
if(mail($ToEmail, $EmailSubject,$prenom_p,$nom_p)){echo"Mail göndərildi";}
?>
Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

    (12:21, 22/12/2011 ) #5494

    Salam Subhan,
    Javascript sadece inputda melumatin olub olmadigini yoxlayir, yeni bezi melumatlar vacib oldugu ucun onlarin techiz olunmasini temin edir.
    Kodu gonderirem.

    <script>
    
    
    function validation(){
    
      var aTabValidation = new Array("prenom_p", "nom_p", "portable_p", "prenom_eleve", "nom_eleve", "adresse_p", "matieres1","niveau");
    
      for (var i=0; i<aTabValidation.length;i++){
    
        if (eval("document.parents."+aTabValidation[i]+".value.length<1")){
    
          alert("Merci de compléter certains champs obligatoires.");
    
          eval("document.parents."+aTabValidation[i]+".focus()");
    
          return false;
    
        }
    
      }
    
      return true;
    
    }
    
    function validation2(){
    
      var aTabValidation = new Array("votre_nom", "votre_prenom", "votre_email", "nom_ami", "prenom_ami", "email_ami");
    
      for (var i=0; i<aTabValidation.length;i++){
    
        if (eval("document.form2."+aTabValidation[i]+".value.length<1")){
    
          alert("Merci de completer certains champs obligatoires.");
    
          eval("document.form2."+aTabValidation[i]+".focus()");
    
          return false;
    
        }
    
      }
    
      return true;
    
    }
    </script>
    

    Testlerini server in uzerinde edirem, lohalhosta duzdu problemler oldu.

    Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(09:33, 22/12/2011 ) #5487

Əlavə olaraq bir də deyim ki, gördüyüm qədərilə siz POST data-nı traitment faylına ötürürsünüz. Bəs envoi necə tanısın həmin POST datanı? Axı POST data yalnız bir dəfə göndərildikdə işəyir, ondan sonra data artıq itir və yeni keçidlərdə mövcud olmur. Sizin verdiyiniz kodda isə envoiyə hər hansı POST data göndərişi görünmür, deməli o halda işləyə bilməz.

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(12:15, 22/12/2011 ) #5493

Duzdu POST data traitement faylinda movcuddu, amma envoi.php de onlar movcud deyil, ona gore de kodda sehvler var. Bes nece ede bilerem ki envoi.php de movcud olsun? $_SESSION lar var, amma onlardan duzgun istifade ede bilmirem.

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

    (13:28, 22/12/2011 ) #5496

    Sessionla etmək olar, və ya təkrar post ilə. Məsələn traitement faylında əlavə olaraq hidden fieldlar yaradıb post datanı ona mənimsədin, sonra təsdiq düyməsi ilə göndərin data-nı. Məsələn traitement-də yazdığınız kodu bununla əvəz edin işləyəkək.

    <ul>
    		<li>Prénom :<b><?php echo $_POST['prenom_p']; ?> </b><BR></li>
    		<li>Nom de parent: <b><?php echo $_POST['nom_p']; ?> </b><BR></li>
    </ul>
    <FORM  method="post" action="envoi.php">
    <INPUT type="hidden" id="prenom"  name="prenom_p" value="<?php echo $_POST['prenom_p']; ?>"><BR>
    <INPUT  type="hidden" id="nom" name="nom_p" value="<?php echo $_POST['nom_p']; ?>"><BR>
    <input type="submit" value="Confirm">
    </form>
    
    Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(14:14, 22/12/2011 ) #5497

Dediyiniz kimi etdim, envoi.php de print_r le yoxlayiram hec bir melumat kecmir. Amma envoi.php nin kodunu traitement.php ye qoyanda ishleyir. Bilmirem nece edim, artiq iki gundu kodla guleshirem 🙂
Bezmeye bashlayiram

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(14:55, 22/12/2011 ) #5498

SESSION dan nece istifade etmeliyem? her iki sehifede session_start(); etdikden sonra ne etmeliyem?

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

    (15:33, 22/12/2011 ) #5499

    Kod düzgündür, siz nəyisə düz etməmisiniz sadəcə.
    Sessionla belə etmək olar. traitement.php cə envoi.php faylında ilk sətrə session_start() əlavə edin. Daha sonra traitmentdə son sətrə bunu əlavə edin

     
    $_SESSION['prenom_p']=$_POST['prenom_p'];
    $_SESSION['nom_p']=$_POST['nom_p'];
     

    Daha sonra envoi-də artıq həmin dəyişənləri istifadə edin, 2 dənə POST-ları silib yerinə SESSİON yazmaqla.:

    Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(15:46, 22/12/2011 ) #5500

bunu link verərək də etmək olar. Düzdü istifadəçilər link-də dəyişiklik edə bilərlər ancaq yene de lazım olar.

traitement.php

echo"<a href='envoi.php?pernom_p=".$_POST['prenom_p']."&nom_p=".$_POST['nom_p']."'>Link</a>";

envoi.php

echo $_GET['pernom_p'];
echo $_GET['nom_p'];
Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(17:34, 22/12/2011 ) #5506

Her ikinize teshekkur edirem, men phpde yeni oldugum ucun bir az cetinlik cekirem, daha dogrusu cox cetinlik cekirem.

SESSION dan istifade edib problemi hell eledim.
Xarici forumlarda cavab tapa bilmedim. Halladi cavablar.net-e 🙂

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

Bu suala aid öz sualım var:
Sual verin
Bu suala cavab vermək istəyirəm:
Cavab verin

Cavab verin


Cavab yazmaq üçün lütfən sağ sütundan və ya buradan hesaba daxil olun.

Üzvlər üçün giriş

Qeydiyyat

Elan qutusu

Son cavablar və şərhlər

Emil- cavab verdi - Adsense Pin kodu (10 saat əvvəl)

Mamed93 cavab verdi - ePN cashback pulu balaslnsa ne vaxt yatırır? (1 gün əvvəl)

Maqa cavab verdi - ePN cashback pulu balaslnsa ne vaxt yatırır? (1 gün əvvəl)

Әmrah cavab verdi - SD kartı format edə bilmirəm (2 gün əvvəl)

Wp-Login cavab verdi - kartaki balansim niyə 0 dı? (2 gün əvvəl)

Wp-Login cavab verdi - SD kartı format edə bilmirəm (2 gün əvvəl)

Nicat Nct cavab verdi - UPS bağlama göndərmək. (3 gün əvvəl)

Әmrah cavab verdi - UPS bağlama göndərmək. (3 gün əvvəl)

az-hosting cavab verdi - Meslehetli telefon (3 gün əvvəl)

az-hosting cavab verdi - İndeks kodu (3 gün əvvəl)

az-hosting cavab verdi - kartaki balansim niyə 0 dı? (3 gün əvvəl)

Devolper cavab verdi - Modem ilə internet alıb ötürmək (3 gün əvvəl)

Orxan cavab verdi - Modem ilə internet alıb ötürmək (3 gün əvvəl)

Software Developer cavab verdi - Google Ads-dən gələn email (3 gün əvvəl)

Maqa cavab verdi - Ebaydan linkdə göstərdiyim "notebook"u alsam aldanmaram? (3 gün əvvəl)

E. Hacı - 588 xal

Software Developer - 587 xal

Onar Alili - 526 xal

Dilsuz - 448 xal

Cabbarov Sübhan - 417 xal

Ruslan Butdayev - 328 xal

Namiq Bəndəli - 297 xal

U.Tarlan - 244 xal

Meherremoff - 234 xal

Maqa - 225 xal

Sistemə daxil olmuş 20235 sualdan 94%-dən çoxu cavablandırılmışdır.

Proyekt haqqında

E-Haci.net istehsalı. © 2010-2019