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

Cənab cavab verdi - Azərbaycandakı supermarket kassalarında işlədilən proqram (4 saat əvvəl)

E. Hacı cavab verdi - Proqramlaşdırma - fəlsəfə (1 gün əvvəl)

kapiltp cavab verdi - Proqramlaşdırma - fəlsəfə (2 gün əvvəl)

Cənab cavab verdi - kurs diplomu ilə işləyə bilərəm? (3 gün əvvəl)

kapiltp cavab verdi - Proqramlaşdırma - fəlsəfə (5 gün əvvəl)

E. Hacı cavab verdi - Proqramlaşdırma - fəlsəfə (5 gün əvvəl)

kapiltp cavab verdi - Proqramlaşdırma - fəlsəfə (6 gün əvvəl)

kapiltp cavab verdi - Proqramlaşdırma - fəlsəfə (7 gün əvvəl)

E. Hacı cavab verdi - Proqramlaşdırma - fəlsəfə (7 gün əvvəl)

kapiltp cavab verdi - Proqramlaşdırma - fəlsəfə (9 gün əvvəl)

Aysu2009 cavab verdi - Azərbaycan əsgər mahnısının sözlərini ingilis dilinə tərcümə etmək (9 gün əvvəl)

Aysu2009 cavab verdi - Atestat almaq üçün ne etmeliyem? (9 gün əvvəl)

Aysu2009 cavab verdi - Azərbaycan əsgər mahnısının sözlərini ingilis dilinə tərcümə etmək (9 gün əvvəl)

Software Developer cavab verdi - Xamaya başqa nə deyirlər? 6 hərflidir (14 gün əvvəl)

Erol34 cavab verdi - Xamaya başqa nə deyirlər? 6 hərflidir (15 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ş 23295 sualdan 92%-dən çoxu cavablandırılmışdır.

Proyekt haqqında

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