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

MiMov cavab verdi - Özəl ip tv qurmaq (4 gün əvvəl)

MiMov cavab verdi - iptv onlayn paket almaq (4 gün əvvəl)

E. Hacı cavab verdi - 300$ Gömrük Limitini keçdim (11 gün əvvəl)

Software Developer cavab verdi - Aliexpress gömrük rüsumu nəyə görə hesablanır? (13 gün əvvəl)

AliyevYT cavab verdi - Honeygain, passiv gelir (13 gün əvvəl)

Sıradan biri cavab verdi - IMEI qeydiyyatı (15 gün əvvəl)

Fariz Huseynli cavab verdi - cerimenin öyrənilməsi (18 gün əvvəl)

Software Developer cavab verdi - cerimenin öyrənilməsi (20 gün əvvəl)

Software Developer cavab verdi - Kapital bank rekvizit payoneer (20 gün əvvəl)

Software Developer cavab verdi - Hər hansı kompyuter proqramının (EXE faylı) etibarlı olub olmaması yəni qanuni və ya saxta olduğunu necə bilmək olar ? (20 gün əvvəl)

txmn cavab verdi - Hərbi biletsiz, möhlətsiz iş (22 gün əvvəl)

Galaxy cavab verdi - X-də (Twitter) premium abunəliklə bağlı çətinlik (23 gün əvvəl)

Rsad Ncfli cavab verdi - Payonner 2024 ilə bağlı sual (28 gün əvvəl)

Software Developer cavab verdi - Payonner 2024 ilə bağlı sual (28 gün əvvəl)

Rsad Ncfli cavab verdi - Payonner 2024 ilə bağlı sual (28 gün əvvəl)

Software Developer - 615 xal

E. Hacı - 607 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ş 23229 sualdan 92%-dən çoxu cavablandırılmışdır.

Proyekt haqqında

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