Űrlap -> Adatbázis -> E-mail küldés

Indította Tudvari, 2014 március 02, 01:31:15 DÉLUTÁN

Előző téma - Következő téma

Tudvari

Sziasztok!

MySQL-ben otthon vagyok,de PHP-ban nem annyira,ezért kérném a segítségeteket.
Hogy csináljak meg meg egy mezőt,ahova e-mailt kell írni,és ezt az e-mailt egy táblába berakja?(Csak akkor ha szabályos e-mail)

És a másik az,hogy egy e-mailt elküldjön minden e-malre ami a táblában van?
Szóval ilyen hírlevél szerű lenne :D

Ja és az űrlapnál például olyat,hogy is kéne,hogy a valamelyiket kiválasztja az egyik "kipipálhatóból",akkor egy bizonyos sorhoz,ahol a név mező = xy,adjon hozzá a darab mezőhöz egyet?

Előre is köszönöm a segítséget.


Haladok,ha minden igaz,már kész is van csak egy hiba van.

$sql="UPDATE Jatekok SET szavazatok = szavazatok + 1 WHERE Nev = '$_POST['jatek'][$n]' ";
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /var/www/tudvari/server1/web.php on line 8

NevemSenki

Hali.

Ellenőrzöd a [ @ ] és [ . ] karaktereket a megadott E-Mail címben.
Én a helyedben Gmail-el oldanám meg, az én oldalamon is az fut a reg visszaigazolására, és azzal lehet több címzettnek is levelet küldeni.
A pipálós dolgot pedig megírod HTML-ben, és Post-al elküldöd önmagának, és hozzáadsz egyet egy lekéréssel.

A lekérést pedig próba így:

Kód (php) Kijelölés
$sql="UPDATE Jatekok SET szavazatok = szavazatok + 1 WHERE Nev = '".$_POST['jatek'][$n]."' ";


Üdv.: Senki
Csak a Puffin ad neked erőt, és mindent lebíró akaratot!

Tudvari

<?php
//Belépés az adatbázisba
    
$kapcsolat mysql_connect();  
    if (!
$kapcsolat) {die("Nem sikerült kapcsolódni az adatbázishoz! " mysql_error());}
    
mysql_select_db("tudvari_server1"$kapcsolat) or die("Nem sikerült kiválasztani az adatbázist!");
for ($n 0$n count($_POST["jatek"]); ++$n)
{
$sql "UPDATE Jatekok SET szavazatok=szavazatok+1 WHERE Nev='".$_POST['jatek'][$n]."'";
}
echo "Köszönöm,hogy kitöltötted az urlapot."




  
?>


<form action="kuld.php" method="post">
      E-mail: <input type="text" name="email" />
  <input type="checkbox" name="jatek[]" value="aoe1" /> Age of Empires
  <input type="checkbox" name="jatek[]" value="aoe2" /> Age of Empires II
  <input type="checkbox" name="jatek[]" value="aom" /> Age of Mythology
  <input type="checkbox" name="jatek[]" value="cossacks" /> Cossacks
      <input type="submit" value="Küldés"/>
</form>


Hibát nem ír ki,de nem hajtja végre a feladatot.Az adatbázisban a Nev oszlopban a checkboxok value-i vannak.

NevemSenki

Pedig ez jónak tűnik.

Amúgy, nem tudom.. de szerintem egy ilyen ciklussal elég szépen le lehet bombázni a MySql-t. Gondolj bele ha 1000 ember nyomkod....

Várj, írok egyet, megnézzük mi lesz!

Üdv.: Senki
Csak a Puffin ad neked erőt, és mindent lebíró akaratot!

NevemSenki

#4
Most én elkezdtem csinálni, de gondolom ez egy szavazófelület ahol mindenki egyszer szavazhat, és ezt az E-mail különbözteti meg.
Akkor minden E-mail.hez tartozik minden játékból egy érték. vagyis E-mail-enként van egy sor. majd vagy 1 vagy 0 a játékok oszlopában attól függően hogy mivel játszik.

Vagy rosszul gondolom?

Üdv.: Senki




Megcsináltam, nézd meg.

DOWNLOAD NOW!

Üdv.: Senki
Csak a Puffin ad neked erőt, és mindent lebíró akaratot!

Tudvari

#5
Nálam úgy van,hogy 1 sor egy játék,amiben ott a neve,és a szavazatok száma.
És másik táblában vannak az e-mailek.
De így is jó,csak így nem tudom,hogy hogy összegezzem később.

Zoltan

 $_SERVER['REMOTE_ADDR']

taroljuk ip cimet is, igy  azonos ip cimrol sem lehet szavazni :)

Tudvari

Működhet ez a regisztrációs panel?

<html>
<head>
<meta charset="utf-8" />
</head>
<body>
<?php
//      _   __                        _____            __   _ 
//     / | / /__ _   _____  ____ ___ / ___/___  ____  / /__(_)
//    /  |/ / _ \ | / / _ \/ __ `__ \\__ \/ _ \/ __ \/ //_/ / 
//   / /|  /  __/ |/ /  __/ / / / / /__/ /  __/ / / / ,< / /  
//  /_/ |_/\___/|___/\___/_/ /_/ /_/____/\___/_/ /_/_/|_/_/   
//                                                            

function udb_hash($buf) { 
    
$length=strlen($buf); 
    
$s1 1
    
$s2 0
    for(
$n=0$n<$length$n++) 
    { 
       
$s1 = ($s1 ord($buf[$n])) % 65521
       
$s2 = ($s2 $s1) % 65521
    } 
    return (
$s2 << 16) + $s1
}  
    
$dbhost "";   // Hoszt
    
$dbuser ""; // Felhasználónév
    
$dbpass ""; // Jelszó
$weboldaldb "tudvari_server1"; // Weboldalhoz tartozó adatbázis
    
$adatbaziskapcsolodas mysql_connect$dbhost$dbuser$dbpass ) or die ( 'Nem tudok kapcsolódni: ' mysql_error() );
    
mysql_select_db($weboldaldb);


if(isset(
$_POST['nev']) && isset($_POST['jelszo1']) && isset($_POST['jelszo2']))
// E-mail
if (strpos($_POST['nev'], '_') == false
{  
print '<li>Érvénytelen karakter név.</li>';  
}
else
{
$nev mysql_real_escape_string($_POST['nev']);
$duplikacio mysql_query("SELECT Nev FROM Jatekosok WHERE Nev = '".$nev."'");
if(mysql_num_rows($duplikacio) == 1)
{
echo 'Már van ilyen nevű karakter!';
}
else
{
$jelszo1 mysql_real_escape_string($_POST['jelszo1']);
$jelszo2 mysql_real_escape_string($_POST['jelszo2']);
if($jelszo1 != $jelszo2)
{
print '<li>A két jelszó nem egyezik.</li>';
}
else
{

$jelszo udb_hash($jelszo1);
mysql_query("INSERT INTO Jatekosok VALUES('".$nev."', ".$jelszo.")");
}
}
}
}
else
{
print '<li>Minden mezpt ki kell töltened!</li>';
}



?>

<form action="" method="post">
      Név: <input type="text" name="email" />
  Jelszó: <input type="password" name="jelszo1" />
  Jelszó: <input type="password" name="jelszo2" />
      <input type="submit" value="Küldés"/>
</form>
</body>
</html>

NevemSenki

Idézetet írta: Zoltan Dátum 2014 március 03, 04:49:00 DÉLUTÁN
$_SERVER['REMOTE_ADDR']

taroljuk ip cimet is, igy  azonos ip cimrol sem lehet szavazni :)

Nagyon jó ötlet!

Ha kicsit komolyabb kéne, megéri nézegetni ezt az oldalt!
http://www.phpclasses.org/package/8494-PHP-Determine-the-IP-address-of-the-user-from-headers.html

A Reg-et meg próbáld ki, másként nem lehet megtudni, de ha Reg kell akkor nézd meg ezt. Ha jól emlékszem itt írtam egy alap Reg-et is!

http://infobarkacs.hu/index.php/topic,9468.msg82648.html#msg82648

Üdv.: Senki
Csak a Puffin ad neked erőt, és mindent lebíró akaratot!

Tudvari

Semmi se jó benne :(
http://tudvari.sunwell.hu/tudvari.php
Egyből kiírja,hogy minden mezőt ki kell töltened,duplikációnál sem ír ki semmit,ha a jelszavak nme egyeznek meg akkor sem stb.És semmit nem csinál a db-vel.

NevemSenki

Akkor itt az ideje hogy elkezd kijavítani.

Üdv.: Senki
Csak a Puffin ad neked erőt, és mindent lebíró akaratot!

Tudvari


NevemSenki

Hali.

Elkezdhetném elmagyarázni lépésről lépésre. De az egy élet lenne. Annyi mindenkinek írtam már meg részeket ilyen problémákra... nincsen már rá vehemenciám. Ez nem ellened irányul.

Mond el hogy pontosan mit szeretnél, milyen tábla, milyen kódolás, milyen oszlopok, miben mit akarsz tárolni...
És megbeszéljük itt a Fórumon.
Hátha lesz akinek hasznos lesz.

De most nem fogom kibogarászni a kódot. Inkább írjunk egyet az elejéről.   

Üdv.: Senki
Csak a Puffin ad neked erőt, és mindent lebíró akaratot!

Tudvari

udb hash kódolás,név és jelszó oszlop,névben muszáj lennie _ -nek és max 22 karakter lehet (ez nincs benne a kódban)
Ennyi az egész,majd ezek alapján bővítem,ha sikerül ennek megírni egyet.

NevemSenki

Csak a Puffin ad neked erőt, és mindent lebíró akaratot!

Powered by EzPortal