PHP Centeri avaleht Skriptikogu Küsimuste-vastuste leht Teadete vaatamine ja saatmine Foorum - koht küsimiseks Otsingumootor Siit saad infot meie kohta

Kasutajanimi:  
  Parool: 
  Registreeri!   Unustasid salasõna?

Foorumid Programmeerimine PHP & MySQL feedbacki saatmisel anomaalia
Autor Abi Postitus Abi

mairo22

Postitusi: 220
Tase: 5
Olek: Offline

Hinnang: Administratiivhinnang: 4/10Administratiivhinnang: 4/10Administratiivhinnang: 4/10Administratiivhinnang: 4/10
feedbacki saatmisel anomaalia

Tegin oma esimese template baasil oleva lehe koos nö tellimuste/feedbacki saatmise võimalusega.

Kui http://www.zone.ee/sepp/feedback.php aadressil send nuppu vajutada kuvatakse php faili sisu selle asemel et saata mail. Form actioniks on feedback_send.php

Peakaustas on iga lehe jaoks  eraldi fail umbes sellise sisuga:
PHP kood:


include_once('inc.functions.php'); 

# vastavalt lehele tuleks seda $content rida muuta 
# kontakt-lehel peaks failiteeks olema contact.tpl jne 
$content parse_tpl(load_tpl('./inc/'.$lang.'/feedback_send.tpl'));
print 
parse_tpl(load_tpl('./inc/page.tpl')); 



Kuda asi tööle saada korralikult.

Seda postitust on muudetud 1 kord (2005-09-26 21:24:39 mairo22 poolt)

___________________________________________________
Kui sul pole midagi öelda, ole vait.

25.09.2005 19:43:27 Vajutades siia näed kasutaja mairo22 profiili

fax
Upsakas kontoritarve

Postitusi: 1195
Tase: 9
Olek: Offline

Hinnang: Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10
RE: feedbacki saatmisel anomaalia

Järsku annad selle feedback.php faili sisu ja ega paha vist ei teeks ka template sisu just <form> osa.

___________________________________________________
Kui olete saanud täna hommikul hakkama 6 võimatu asjaga, miks siis mitte lisada sellele veel programmeerimine ?

25.09.2005 19:58:43 Vajutades siia näed kasutaja fax profiili

mairo22

Postitusi: 220
Tase: 5
Olek: Offline

Hinnang: Administratiivhinnang: 4/10Administratiivhinnang: 4/10Administratiivhinnang: 4/10Administratiivhinnang: 4/10
RE: feedbacki saatmisel anomaalia

feedback.php fail on selline:

PHP kood:


include_once('inc.functions.php'); 

if (!isset(
$_COOKIE['lang'])) {
$lang 'et'//vaikimisi keel
setcookie("lang"$langtime() + 21600);
} else
{
//$lang = get_lang(); 
$lang $_COOKIE['lang'];
}

# lehe tiitel 
switch($lang){ 
case 
'et'$title 'Kunstsepp'; break; 
case 
'en'$title 'Welcome'; break; 

 
# vastavalt lehele tuleks seda $content rida muuta 
# kontakt-lehel peaks failiteeks olema contact.tpl jne 
$content parse_tpl(load_tpl('./inc/'.$lang.'/feedback.tpl'));

print 
parse_tpl(load_tpl('./inc/page.tpl')); 



Ja feedback.tpl form osa selline:

Koodijupp:

<div align="center" style="font-size: 20px">Tellimuse saatmine</div>
   <form method="POST" action="feedback_send.php" name="form1">
  
<table cellspacing="1" border="0" cellpadding="3" align="center" bgcolor="#96a4ff">
  <tbody>
    <tr>
      <td bgcolor="#ffffff">
      <table align="center" cellpadding="2" cellspacing="1">
         <tr BGCOLOR="#FFFFFF">
            <td width="120" class="formtextmustbe">Eesnimi</td>
            <td width="140">
<INPUT name="firstName" type="text" id="firstName" size="30" class="inputtext"></td>
         </tr>
         <tr BGCOLOR="#FFFFFF">
            <td width="120" height="22" BGCOLOR="#FFFFFF" class="formtextmustbe">Perekonnanimi</td>
            <td width="140">
                <INPUT name="lastName" type="text" id="lastName" size="30" class="inputtext"></td>
         </tr>
         <tr BGCOLOR="#FFFFFF">
            <td class="formtext">Telefon</td>
            <td width="140">
                <INPUT name="phone" type="text" id="phone2" size="30" class="inputtext"></td>
         </tr>
         <tr BGCOLOR="#FFFFFF">
            <td width="120" class="formtext">Mobiiltelefon</td>
            <td width="140">
                <INPUT name="mobile" type="text" id="mobile" size="30" class="inputtext"></td>
         </tr>
         <tr BGCOLOR="#FFFFFF">
            <td width="120" class="formtextmustbe">E-Mail</td>
            <td width="140">
               <INPUT name="email" type="text" id="email" size="30" class="inputtext"></td>
         </tr>
         <tr BGCOLOR="#FFFFFF">
            <td width="120" height="22" BGCOLOR="#FFFFFF" class="contacttext">Kommentaarid</td>
            <td width="140">
            <textarea cols="28" rows="5" name="comment" id="comment" class="inputtext"></textarea></td>
         </tr>
  </table>

      </td>
    </tr>
  </tbody>
</table>

  <p align="center"><FONT face="Courier New, Courier, mono">
    <INPUT type="submit" name="Submit2" value="Saada mail" onClick="return validate1(form1)" class="formbutton">
    <INPUT TYPE="reset" VALUE="Puhasta väljad" class="formbutton">
    </FONT></p>
</form>



___________________________________________________
Kui sul pole midagi öelda, ole vait.

26.09.2005 21:23:40 Vajutades siia näed kasutaja mairo22 profiili

q2boy
OOP!


Postitusi: 400
Tase: 6
Olek: Offline

Hinnang: Administratiivhinnang: 3/10Administratiivhinnang: 3/10Administratiivhinnang: 3/10
RE: feedbacki saatmisel anomaalia

inc.functions.php ?

___________________________________________________
Kunagi saan ma tegijaks

26.09.2005 21:53:01 Vajutades siia näed kasutaja q2boy profiili

andoro

Postitusi: 1235
Tase: 9
Olek: Offline

Hinnang: Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10
RE: feedbacki saatmisel anomaalia

feedback.php peaks alustama ja lõpetama PHP tag-idega?

___________________________________________________
Ma oskan lugeda numbreid  2 3 4 5 6 7 8 9 10 poiss, emand, kunn, äss.

27.09.2005 07:08:41 Vajutades siia näed kasutaja andoro profiili

mairo22

Postitusi: 220
Tase: 5
Olek: Offline

Hinnang: Administratiivhinnang: 4/10Administratiivhinnang: 4/10Administratiivhinnang: 4/10Administratiivhinnang: 4/10
RE: feedbacki saatmisel anomaalia

feedback.php tegelikult lõppebki php tagidega, neid ei kopeerinud lihtsalt siia.

Aga inc.functions.php näeb välja selline:

PHP kood:


<?php 
ini_set
('display_errors',0);
# esiteks muutujate/konstantide defineerimine 
 
$lang_list array('et''en'); // massiiv keeltest, milles leht saadaval on 
define('default_lang''et'); // vaikimisi keel (seda kasutatakse kui brauseris on määratud mõni muu keel kui eesti või inglise, nt prantsuse) 
 

# mallilaadimis ja -parsimis funktsioonid 
 
# laadib mallifaili 
function load_tpl($filename

if (!
file_exists($filename)) 

return 
'Template laadimine ebaõnnestus: '.$filename."<br>\n"

$f=fopen($filename,'r'); 
$c=fread($f,filesize($filename)); 
fclose($f); 
return 
$c


# callback: tagastab muutuja väärtuse 
function get_var($matches

# kontrollitakse kas muutuja sisaldab kandilisi sulge 
if (strstr($matches[0],'[') && strstr($matches[0],']')) 

    
# kui jah siis leitakse muutuja nimi ning indeks 
    
$a explode('[',$matches[2]); 
    
$var $a[0]; 
    
$b explode(']',$a[1]); 
    
$key $b[0]; 
 
    
# tagastatakse globaalmuutuja väärtus 
    
global ${$var}; 
    
$result = ${$var}["$key"]; 
    return 
$result
 } else  { 
    
# kui aga muutujas kandilisi sulge ei ole tagastatakse 
    # kohe vastava globaalmuutuja väärtus 
    
$var $matches[2]; 
    global ${
$var}; 
    return ${
$var}; 
  } 

 
# callback: laadib mallis oleva include korraldusega näidatud faili 
function load_include($matches

  
$f parse_vars($matches[3]); 
  return 
parse_tpl(load_tpl($f)); 

 
# asendab mallimuutuja {$muutuja} php $muutuja väärtusega 
function parse_vars($tplstr

  return 
preg_replace_callback('/(\{\$)([a-zA-Z0-9_\[\]]*)(\})/''get_var'$tplstr); 

 
# asendab {include=mallinimi} faili sisuga 
function parse_inc($tplstr

  return 
preg_replace_callback('/(\{)(include=)([\w\.\/\$\{\}]*)(\})/''load_include'$tplstr); 

 
# parsib malli 
function parse_tpl($tplstr

  return 
parse_vars(parse_inc($tplstr)); 

 
 
# järgmiseks brauseri keelt kindlakstegevad funktsioonid: 
 
# võtab parameetriks nimekirija keeltest, milles dokument 
# on saadaval ning tagastab brauseriga kattuva keelekoodi 
# või tühja stringi kui kattuvust ei leita. 

# parameetrid: 
# $accept - massiiv keeltekoodidega 
# returns: negotiated language code or '' 
/*function language_accept($accept='') 

  global $HTTP_ACCEPT_LANGUAGE; 
  global $HTTP_ACCEPT_CHARSET; 
 
  $lang=split(',', $HTTP_ACCEPT_LANGUAGE); 
 
  // parse http_accept_language header 
  foreach($lang as $i=>$value) 
   { 
     $value=split(';', $value); 
     $lang[$i]=trim($value[0]); 
   } 
 
  return language_negotiate($lang, $accept); 
} */
 
# leiab kattuvad keeled kahe massiivi vahel. Üritab leida 
# tervet keele koodi, peale seda esimesed 2 märki. Nt: 
# ('en-us', 'en') 
# parameetrid: 
# $ask_lang - massiiv brauseris määratud keeltega 
# $accept_lang - massiiv keeltega, milles dokument saadaval on 
# tagastab: keele koodi või '' 
/*function language_negotiate($ask_lang, $accept_lang) 

  if (!(is_array($ask_lang) && is_array($accept_lang))) return ''; 
 
  // if it exists exactly, or just the first two characters 
  foreach($ask_lang as $lang) 
   { 
     if (in_array($lang, $accept_lang)) return $lang; 
     $short_lang=substr($lang, 0, 2); 
     if (in_array($short_lang, $accept_lang)) return $short_lang; 
   } 
  return ''; 

 */
 
# teeb kindlaks kasutatava keele 
# kui eksisteerib muutuja $lang siis tagastab selle 
# muidu võrdleb olemasolevaid keeli külastaja brauseri omadega 
# kui kattuvust ei leita tagastab vaikimisi keele 
/*function get_lang() 

  global $lang, $lang_list; 
  if (isset($lang)) return $lang; 
 
  $lang = language_accept($lang_list); 
  $lang = ($lang=='') ? default_lang: $lang; 
  return $lang; 

 
# liigub nimetatud aja pärast kindlale lehele 
function goto_url($url, $time=0, $method="meta") 

  if ($method=="meta") 
  { 
     print "\n<meta http-equiv=\"refresh\" content=\"$time;url=$url\">\n"; 
  } 
  else if ($method=="js") 
  { 
     $time=$time*1000; 
     print "\n<script>function go(){ window.location=\"$url\"; } setTimeout(\"go()\",$time)</script>\n"; 
  } 
} */
 
# seab javascriptiga küpsise 
/*function cookie($name, $value, $expire) 

  echo ' 
  <script language="JavaScript"> 
  <!-- file:///var/www/html/sepp/inc.functions.php
  var expire = new date(); 
  var thetime = expire.gettime(); // aeg praegu ms 
  thetime += '.$expire.'000; // cookie kestvus ms 
  expire.settime(thetime); // aegumise aeg 
  document.cookie = "'.$name.'='.$value.';expires="+expire.toGMTString(); 
  --></script> '; 
} */

?>



Siin on näha, et osa teksti olen välja kommenteerinud kuna võtsin selle ühelt näitelt ja keele automaatne valimine ei töödanud mul. Tegin natukene enda jaoks ümber. Javascripti osas küpsise saatmine ka ei töödanud korralikult mida tööle ei saanudki.

Aga küsimus ikka - miks formi saatmisel php'd ei parsita vaid näidatakse mulle php faili sisu.

___________________________________________________
Kui sul pole midagi öelda, ole vait.

27.09.2005 08:06:21 Vajutades siia näed kasutaja mairo22 profiili

silx99


Postitusi: 52
Tase: 4
Olek: Offline

Hinnang: Administratiivhinnang: 5/10Administratiivhinnang: 5/10Administratiivhinnang: 5/10Administratiivhinnang: 5/10Administratiivhinnang: 5/10
RE: feedbacki saatmisel anomaalia

seda ikka arvestasid, et zone-s maile saata ei saa

___________________________________________________
See olen tõesti mina mitte keegi teine...

27.09.2005 11:23:22 Vajutades siia näed kasutaja silx99 profiili

mairo22

Postitusi: 220
Tase: 5
Olek: Offline

Hinnang: Administratiivhinnang: 4/10Administratiivhinnang: 4/10Administratiivhinnang: 4/10Administratiivhinnang: 4/10
RE: feedbacki saatmisel anomaalia

Testin asja ka oma linuxipurgis ja seal samamoodi näidatakse mulle php'd nagu tavalist teksti.
Tegemist on mingi template parsimise veaga mida ma ei suuda leida üksi.
Ehk siis maili saatmise taga asi kinni pole.


___________________________________________________
Kui sul pole midagi öelda, ole vait.

27.09.2005 11:43:39 Vajutades siia näed kasutaja mairo22 profiili

mairo22

Postitusi: 220
Tase: 5
Olek: Offline

Hinnang: Administratiivhinnang: 4/10Administratiivhinnang: 4/10Administratiivhinnang: 4/10Administratiivhinnang: 4/10
RE: feedbacki saatmisel anomaalia

Andsin esimeses postituses vale aadressi, kus probleem näha on.

http://www.zone.ee/kunstsepp/feedback.php

Klikake saada mail ja tulemuseks kuvatakse php kood millegipärast.

___________________________________________________
Kui sul pole midagi öelda, ole vait.

28.09.2005 19:30:04 Vajutades siia näed kasutaja mairo22 profiili

fax
Upsakas kontoritarve

Postitusi: 1195
Tase: 9
Olek: Offline

Hinnang: Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10
RE: feedbacki saatmisel anomaalia

Hetekel ainuke asi mis endal silma hakkas on rida:
Koodijupp:
<INPUT type="submit" name="Submit2" value="Saada mail" onClick="return validate1(form1)" class="formbutton">

Uurisin ka lisatavat js faili, aga mida ei leidnud on validate1() funktsioon. seega ehks proovid algatuseks ilma selle onClickita ?

___________________________________________________
Kui olete saanud täna hommikul hakkama 6 võimatu asjaga, miks siis mitte lisada sellele veel programmeerimine ?

28.09.2005 20:19:32 Vajutades siia näed kasutaja fax profiili

mairo22

Postitusi: 220
Tase: 5
Olek: Offline

Hinnang: Administratiivhinnang: 4/10Administratiivhinnang: 4/10Administratiivhinnang: 4/10Administratiivhinnang: 4/10
RE: feedbacki saatmisel anomaalia

Täpselt sama vorm on mul kasutusel http://www.soida.ee/index.php?page=contact_form lehel ja seal ei ole sellist probleemi. Seal ei kasuta ma tegelt ka template süsteemi.

See, et kuvatakse vormi täitmisel php kood, ei saa ju javascriptist sõltuda?

___________________________________________________
Kui sul pole midagi öelda, ole vait.

28.09.2005 23:26:01 Vajutades siia näed kasutaja mairo22 profiili

laurik
_/<

Postitusi: 847
Tase: 8
Olek: Offline

Hinnang: Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10
RE: feedbacki saatmisel anomaalia

PHP-d ei tohiks seal malli sees olla..

PHP kood:


$msg '';
if(!empty(
$_POST))
{
  if(
saatja_email_ei_ole_email)
  {
    
$msg 'sisestage korrektne email';
  }
  else if(
postituse_sisu_on_vähem_kui_4_märki)
  {
    
$msg 'puudub sõnumi sisu';
  }
  else
  {
    
$msg mail('kellele@kuskil.ee''teade kodulehelt'$_POST['sisu']) ? 'teade edukalt saadetud ' 'teate saatmine luhtus';
  }
}
$content parse_tpl(load_tpl('./inc/'.$lang.'/feedback_send.tpl')); 
print 
parse_tpl(load_tpl('./inc/page.tpl')); 



Selleks et seda $msg-d seal templates näha oleks tuleks lisada sinna vormi algusesse lisada {$msg}

29.09.2005 11:59:46 Vajutades siia näed kasutaja laurik profiili
Kokku: 25955 registreerunud kasutajat, 9711 teemat, 54603 postitust.
Täna on neljapäev, 28. mai 2020. Kell on 04:17.

    Vaata selle lehe printerisõbralikku versiooni

Avaleht   -    Skriptikogu   -    Teated   -    Foorum   -    Reklaam   -    Tagasiside   -    Kasutamise reeglid

© Copyright 2002-2020 PHP Center. Kõik õigused reserveeritud.