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?


Yadda saxlama
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

Triste cavab verdi - Adsense ya görə VÖEN gəlir vergisi 20% istəyirlər (1 gün əvvəl)

E. Hacı cavab verdi - Adsense ya görə VÖEN gəlir vergisi 20% istəyirlər (2 gün əvvəl)

Triste cavab verdi - Adsense ya görə VÖEN gəlir vergisi 20% istəyirlər (8 gün əvvəl)

Software Developer cavab verdi - Adsense ya görə VÖEN gəlir vergisi 20% istəyirlər (8 gün əvvəl)

Triste cavab verdi - Google Adsense vergi (9 gün əvvəl)

E. Hacı cavab verdi - Xif mn kodu (17 gün əvvəl)

Khagrov cavab verdi - Axtardığım mahnını tapa bilmirəm kömək edin (35 gün əvvəl)

E. Hacı cavab verdi - Dünəndən Kompüterlə Twitter/X və Pinterest -ə girə bilmirəm. (42 gün əvvəl)

orkhanrza cavab verdi - AZ9095də bağlama qalıb (47 gün əvvəl)

Ismayil1997 cavab verdi - İndiki dövrdə İngilis dili müəllimliyi ixtisasını seçməyə dəyər? (56 gün əvvəl)

revan orucov cavab verdi - Bakıda evə 100mbps+ internet verən provayder var? (60 gün əvvəl)

E. Hacı cavab verdi - WordPress sistemli saytda Facebook və İnstagram platformalarına özəl target_blank tənzimlənməsi haqqında... (62 gün əvvəl)

Jurnalist cavab verdi - WordPress sistemli saytda Facebook və İnstagram platformalarına özəl target_blank tənzimlənməsi haqqında... (62 gün əvvəl)

asssa1 cavab verdi - Riyazi proqramlar üçün proqram (64 gün əvvəl)

Aleks cavab verdi - İndiki dövrdə İngilis dili müəllimliyi ixtisasını seçməyə dəyər? (70 gün əvvəl)

Software Developer - 615 xal

E. Hacı - 608 xal

Onar Alili - 526 xal

Dilsuz - 448 xal

Cabbarov Sübhan - 434 xal

Maqa - 346 xal

Ruslan Butdayev - 328 xal

Namiq Bəndəli - 297 xal

U.Tarlan - 244 xal

Meherremoff - 234 xal

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

Proyekt haqqında

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