22786
Html-, css- és php-help
  • Bercy #9782
    Szerintem ne is foglalkozz vele, hogy a második nem működik, mivel nagyon nem is lenne az praktikus.
    Az első verzió ugye egy sima egyszerű pop-up-ot nyit, amit lehet huzigálni, háttérbe tenni (így folytatva tovább a böngészést az oldalon) míg a csinosabb verzió blokkolja a további böngészést.
  • ba32107
    #9781
    TEXT-ben van tárolva az adatbázisban, ha erre célzol.
  • vafeN
    #9780
    szöveg tipus.
  • ba32107
    #9779
    Most az a gondom, hogy a böngésző a hosszű ő betűk helyett kérdőjelet ír ki. Akkor van ez, amikor adatábzisból veszek ki szöveget. Az adatbázisban jó (a webes admin oldalon rendesen megjelenik az ő betű), de mikor kiolvasom és megjelenítem, ? lesz helyette. Ötlet?
  • Falzone
    #9778
    Vajon miért hullik szét ennek az oldalnak a menüsora Internet Explorer alatt: http://www.autoteszt.eu

    Firefoxban és Safariban hibátlan. CSS hiba lehet?
  • dav1d
    #9777
    kösz örök hála :)
  • ba32107
    #9776
    Csak hogy tisztázzam a session használatát: indítok egy böngészőt, és lekérek egy lapot, amiben egy szkript sessiont indít. Akkor a szerveren hozzámrendelődik a session tömb, amiben tárolhatok változókat, és ha lekérek egy másik, különböző lapot, akkor ott felhasználhatom ezeket a változókat ugye? Mert a szerver felismeri, hogy én vagyok az, aki a sessiont indítottam. És amíg az egyik lapon nem zárom le a sessiont, addig végig elérhetőek a változók, ugye?
  • Dj Faustus #9775
    "nekem arra van szükségem hogy megadom pl $azonosito1 = '10'; akkor a 10-nél kisebb következő id értéket szeretném megkapni"
    Akkor:
    $azonosito1 = 10;
    $sql = "SELECT id, targy FROM ".$hir." WHERE id<".$azonosito1." ORDER BY id DESC LIMIT 1;"


    Feltételezem az id mező integer típusú, és szükséged van a targy mezőre is, és csak egy sort akarsz.
  • ba32107
    #9774
    De hülye vagyok, ide nem is kell session
    Az include teljes mértékben beilleszti annak a fájlnak a tartalmát,ugye? Akkor meg egyáltaáln nem is kell session...ettől függetlenül így is hibásan működik. Lehet, hogy mégis azt a lekérdezős ötletet valósítom meg.
  • dav1d
    #9773
    Látszik explorer-ben is csak valamiért le kell scrollozni alulra meg jobbra.Valami ilyesmit kellene kipróbálni...<!--[if IE7]> <link href="explorer.css" rel="stylesheet" type="text/css"> <![endif]-->
  • dav1d
    #9772
    elnézést rosszul fogalmaztam meg a kérdést, nekem arra van szükségem hogy megadom pl $azonosito1 = '10'; akkor a 10-nél kisebb következő id értéket szeretném megkapni pl 10 eseténa következő a 8as lenne.

    id----targy
    10----alma
    8---korte
    3---citrom

  • ba32107
    #9771
    Megcsináltam adatbázissal, mert amúgy is volt egy settings táblám, amiben mindenféle beállításokat tárolok. Az összeszámlálós lekérdezés nem jó, mert nem csak ilyenkor küldök emailt, hanem még több esetben is, ezért kell a számláló. De nem működik tökéletesen!

    Itt van a kódja az egyik email küldő függvényemnek:

    session_start();
    ...
    ...
    function sendMail($name, $email, $post) {
    $message = "Új kérdés érkezett!\nA kérdező neve: $name\nE-mail címe: $email\n\nA kérdés:\n$post";

    include("mailcount.php");

    if($_SESSION["isQuotaFull"] == false) {
    if(mail("[email protected]", "uj_kerdes", $message)) return true;
    else return false;
    } else {
    return false;
    }

    }

    ...
    ...
    session_destroy();

    És itt a hivatkozott mailcount.php:

    <?php

    require("connect.php");

    $result = mysql_query("SELECT mailcount, date FROM settings");

    $mailcount = mysql_result($result, 0, "mailcount");
    $date = mysql_result($result, 0, "date");

    $today = date("Y-m-d");
    $isFull = false;

    if($date == $today) {
    if($mailcount == 20) $isFull = true;
    else mysql_query("UPDATE settings SET mailcount = mailcount + 1 WHERE id = 1");
    } else {
    mysql_query("UPDATE settings SET date = CURDATE() WHERE id = 1");
    mysql_query("UPDATE settings SET mailcount = 1 WHERE id = 1");
    }

    mysql_close();

    $_SESSION["isQuotaFull"] = $isFull;

    ?>


    Na most ez működik, ha nem a mai a dátum. Viszont ha mai a dátum, akkor néha számlál, néha nem! Egyszerűen nem értem, nem láttam összefüggést, nem értem hogy miért nem számol néha. A session-öket jó helyen indítottam el? Külön a mailcount.php-ban nem kell sessiont indítani, ugye? Mi lehet a gond? Előre is kösz a segítséget
  • Dj Faustus #9770
    "hogyan lehet az alacsonyabb id-t megkapni mint '10' mert ugye ennek a kódnak szintén '10' lenne a végeredménye nekem meg az alacsonyabb id-re van szükségem a '8' ra."
    $azonosito1 = '10';
    helyett
    $azonosito1 = '8';

  • dav1d
    #9769
    üdv! lenne egy ilyen kódom:

    $azonosito1 = '10';
    $sql = "SELECT id FROM ".$hir." WHERE `id` LIKE '$azonosito1'";
    $ered9 = mysql_query($sql)
    or die ("sikertelen művelet");
    $azonosito2 = strip_tags(mysql_result($ered9,0));

    kérdésem az lenne hogyan lehet az alacsonyabb id-t megkapni mint '10' mert ugye ennek a kódnak szintén '10' lenne a végeredménye nekem meg az alacsonyabb id-re van szükségem a '8' ra.
    előre is köszi!

  • Dj Faustus #9768
    "Még annyi, hogy érdemesebb lenne adatbázisban tárolni? Vagy teljesen mindegy?"
    Elvileg megoldható adatbázissal is, gyakorlatilag szerény véleményem szerint ilyen kis feladatra nem érdemes adatbázist használni Ha már a küldők adatait - e-mail címe, IP címe, küldés ideje - is el akarod tárolni akkor már javallottabb az adatbázis használata; de akkor már nem kell számláló, csak a napi levélküldők számát kell összeszámolni egy SQL-lekérdezéssel, és a szerint dönteni.
  • ba32107
    #9767
    Na ez az algo teljesen világos, és érthető. Köszi! Még annyi, hogy érdemesebb lenne adatbázisban tárolni? Vagy teljesen mindegy?
  • ba32107
    #9766
    Azt sem vágom, hogy kell látogatás-számlálót csinálni :D Abszolút kezdő vagyok, 3 napja láttam először php-t :D De majd próbálkozom vele, köszi
  • Dj Faustus #9765
    "hogy egy Jump menunél kiválasztunk valamit amire külön "link" [e-mail cím] van megadva és hogy arra a címre küldje?"
    1. Amikor kiválasztod/megváltoztatod a listát, akkor a kiválasztott értéket add át az e-mailt tartalmazó szövegmezőnek:
    <select name="lista" id="lista" onchange="document.getElementById('email').value=this.value">
    <option value="[email protected]">1</option>
    <option value="[email protected]">2</option>
    <option value="[email protected]">3</option>
    </select>
    <input type="text" name="email" id="email" />

    2. Vagy nevezd át a listát email nevűre, és az e-mail nevű szövegmezőt iktasd ki.

    "A mail() függvényből le lehet valahogy kérni, hogy túlléptem-e a kvótát?"
    A mail() függvény visszatérő értéke csak logikai lehet, tehát csak arról értesít, hogy sikerült-e a levelet elküldésre ítélni vagy nem (arról nem értesít, hogy a levél megérkezett-e, vagy hogy létezik-e a cím).

    Én is a számláló mellett tenném le a voksom, viszont annyi kiegészítéssel, hogy a számláló értéke mellett letárolnám az aktuális dátumot (ugyebár napi 20).

    Tehát az algoritmus a következőképpen nézne ki:
    1. Létezik az állomány?
    2.1. Ha nem, állományt létrehoz, a mai dátumot és egy egyest szóközzel elválasztva beleír. Állományt lezár, program vége.
    2.2. Ha létezik, állományból dátum és számláló kiolvas. Tovább a 3-ra.
    3. Mai dátumot olvastunk ki?
    4.1. Ha mai: a kiolvasott számláló nagyobb mint 19?
    4.1.1. Ha nagyobb mint 19: hibát visszajelez. Program vége.
    4.1.2. Ha kisebb (vagy egyenlő) mint 19: számláló eggyel megnövel, dátum és a számláló aktuális értéke szóközzel elválasztva állományba felülír. Levél küldése, program vége.
    4.2. Ha nem mai: a mai dátumot és egy egyest szóközzel elválasztva állományba felülír. Levél küldése, program vége.
  • vafeN
    #9764
    Csinálsz egy számlálót [egy tök egyszerű, 100%ba olyat mint amivel azt számoljuk hogy hányan nézték meg a weblapot] csak annyi különbséggel hogy a gombra állítoba [hánszór nyomták le]. Itt meg van a számlálás és arra írsz egy letíltót [vagy mit akarsz]. Ha elére a 20at letíltja. [de nem 100% hogy így kell megcsinálni, ez csak az én tippem](jobb ha azért megvársz még egy profit is:D)
  • ba32107
    #9763
    De hogyan számolok? Le lehet kérni valahogy az aktuális állapotot? Azért kell, mert a szkript mindig bezáródik, tehát minden futáskor tudnia kéne, hogy még mennyi van hátra. Ezt hogy lehet?
  • vafeN
    #9762
    Számlálót kell csinálni és ha elérte a 20at akkor letíltja [vagy azt csinálja amit akarsz vele]
  • vafeN
    #9761
    Valaki tudna segíteni? Fejlesztgettem az e-mail scriptet és az lenne a kérdésem, hogy azt hogyan lehet megcsinálni hogy egy Jump menunél kiválasztunk valamit amire külön "link" [e-mail cím] van megadva és hogy arra a címre küldje?

    Eddig így nézz ki:

    index.html
    -----------

    <html>
    <head>
    <title>teamwork contact</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <META http-equiv="imagetoolbar" content="no">
    </head>
    <body>
    <form name="form1">
    <select name="menu1" onChange="MM_jumpMenu('parent',this,0)">
    <option value="email1" selected>Info</option>
    <option value="email2">Management</option>
    <option value="email3">BirdPc</option>
    <option value="email4">Webmaster</option>
    </select>
    </form>
    <form action="mail.php" method="post">
    <div id="Layer7" style="position:absolute; width:74px; height:21px; z-index:6; left: 30; top: 90; font-weight: bold;">Your name </div>
    <p><br/>
    <br/>
    <br>
    <br>
    </p>
    <div id="Layer3" style="position:absolute; width:134px; height:21px; z-index:3; font-weight: bold; left: 30px; top: 285px;">Subject Message </div>
    <div id="Layer4" style="position:absolute; width:76px; height:24px; z-index:4; left: 30; top: 140; font-weight: bold;">Your email</div ><div id="Layer6" style="position:absolute; width:149px; height:27px; z-index:5; left: 200; top: 90;">
    <input type="text" name="name" style="border-color:F07800; border-style:solid">
    </div>
    <div id="Layer5" style="position:absolute; width:200px; height:29px; z-index:1; left: 200; top: 140;">
    <input type="text" name="email" style="border-color:F07800; border-style:solid ">
    </div>
    <div id="Layer1" style="position:absolute; width:450px; height:266px; z-index:1; left: 200; top: 180px;">
    <textarea name="message" cols="65" rows="15" style="border-color:#F07800; border-style:double "></textarea>
    </div>
    <div id="Layer2" style="position:absolute; width:55px; height:26px; z-index:2; left: 200; top: 470;">
    <input name="submit" type="submit" value="Send" style="background-color:F07800; border-style:none; color:#FFFFFF ">
    </div>
    </form>
    </body>
    </html>
    ----------
    mail.php
    ____________
    <!-- itt kell megadni hogy hova küldje, hogy milyen néven és hogy leellenőrizze hogy minden kivan-e tőltve -->

    <?php
    $youremail = "e-mail cím ide";
    $subject = "Elérhetőség";
    $thankyou = "thankyou.html";
    function check($postArg) { return (IsSet($_POST[$postArg]) && !Empty($_POST[$postArg])); }

    if(!check('name')){
    ?>
    Nem adtad meg a nevedet!<br/>
    <?php
    }elseif(!check('email')){
    ?>
    Nem adtad meg az e-mail címedet!<br/>
    <?php
    }elseif(!check('message')){
    ?>
    Nem írtál be üzenetet!<br/>
    <!-- vége -->


    <?php
    }else{

    $msg = ereg_replace("\\\'", "'", $_POST['name']);
    $msg = ereg_replace("\\\'", "'", $_POST['email']);
    $msg = ereg_replace("\\\'", "'", $_POST['message']);
    $msg = ereg_replace('\\\"', "\"", $msg);
    $message1 = "Name: " . $_POST['name'] . "\nE-mail: " . $_POST['email'] . "\nÜzenet: ". $_POST['message'] . "\n" . $msg;
    mail($youremail, $subject, $message1,"Name: " . $_POST['name'] . "\r\nReply-to: " . $_POST['email'] . $_POST['message'] . "\r\n");
    ?>
    <meta http-equiv="refresh" content="0; url=<?echo $thankyou;?>"">
    <?php
    }
    ?>
    ___________

    Amire én gondoltam az az hogy mindegyiknek adunk egy egyforma ID-t és akkor az ID-t írnám be a $youremail = "e-mail cím ide"; helyére (bár sztem ez baromság:D:D:D [talán csak azért mert akkor az elsőnél megállna]).
    Előre is köszönöm a segítséget.
  • ba32107
    #9760
    Új kérdésem van. Php mail() függvény, ATW-s tárhely, napi 20 a limit. Azt akarom megcsinálni, hogy ha túllépi a cuccot, akkor azt szépen lekezeljem. Csináltam egy if vizsgálatot, de az csak egyéb hibákat kezel le valószínűleg, mert a kvótatúllépés egy elég ronda hibaüzenet formájában jelentkezett. A mail() függvényből le lehet valahogy kérni, hogy túlléptem-e a kvótát?
  • ateszname
    #9759
    Ebben kéne segítség. Nem működik a menüm, PLS help.
  • Agy Halott #9758
    Ebben a problemamban tud vki segiteni? koszonom.
  • ba32107
    #9757
    Ok, így már megvan köszi, csak nem akartam újra felépíteni a szkriptből a formot, mert elég bonyolult, de úgy látszik nem úszom meg.
  • Lazarus
    #9756
    "Hogy érem el a szkriptből a formot?" - Sehogy. Amikor elküldöd az adatokat újratöltődik az egész oldal, vagy átkerülsz egy új oldalra amiben kiértékelheted az elküldött adatokat pontosan ott ahol te akarod, egyszerűen helyezd az eredmény kiszámítását és megjelenítését a fórráskódban a formon belülre oda ahova szeretnéd.

    Lehet hogy ezzel nem segítettem, de nem teljesen értem a kérdést :)
  • Lazarus
    #9755
    Kreáld újra a formot, és value-nek add meg a post-olt adatokat ($name, $email)
  • ba32107
    #9754
    Ezzel kapcsolatban is akadt egy gondom:

    Van egy vendégkönyvem, be lehet írni nevet, mail címet, üzenetet. Ellenőrzöm, hogy nem-e üresek a mezők, ha igen, feldobom a javascriptes alertet. De most jön a baj: itt én azt akarom csinálni, hogy miután rányomtam az okra, maradjon betöltve az eredeti oldal, és megmaradjanak az addig beírt adatok. Ezt hogy kell? Beillesztem az idevágó kódot:


    $name = $_POST['nameTextField'];
    $email = $_POST['emailTextField'];
    $post = $_POST['postTextArea'];

    if($name != "" && isValidEmailAddress($email) && $post != "") {

    $query = "INSERT IGNORE INTO guestbook VALUES (NULL, '$name', '$email', CURDATE(), CURTIME(), '$post')";
    mysql_query($query);

    mysql_close();
    header("Location: ../guestbook.php");

    } else {

    print("<script> alert(\"Rossz formátum!\"); </script>");
    }


    Így, ha az else ág fut le, ugyanúgy blank page jelenik meg, ahelyett, hogy megmaradna az eredeti. Hogy oldjam meg?
  • ba32107
    #9753
    Köszi, ezeket mindjárt kipróbálom. Még egy kérdés, ha itt vagy:

    Van egy formom, amin vannak textfieldek, és a végén egy gomb. Ugye amikor rákattintok a gombra, akkor lefut egy php szkript. Azt akarom megoldani, hogy a szkript által kiszámolt értéket visszategyem a formra, a gomb fölé (tehát nem a következő üres sorba, hanem vissza a form kellős közepébe). Egy labellel próbálkoztam, de az eddig nem hozott eredményt. Hogy érem el a szkriptből a formot?
  • Lazarus
    #9752
    A második szerintem megoldható replacel

    $text = str_replace("\n" , "<br>" , $text);
  • Lazarus
    #9751
    javascriptel
    <script>alert("üzenet");</script>

    phpből
    <? echo "<script>alert(\"üzenet\");</script>"; ?>
  • ba32107
    #9750
    Lenne egy-két php kérdésem:
    1. Hogy tudok popup ablakot létrehozni? Vagyis igazából nem is popupot, hanem message dialogot, csak egy kis ablakot, amit le lehet OK-olni (információ kijelzésére)
    2. Hogy oldható meg az, ha egy mysql adatbázisból olvasok be egy TEXT-et, amiben vannak sortörések, hogy ezek a sortörések a megfelelő php változókban is benne legyenek? Mert amikor próbáltam, akkor szó nélkül kihagyta, és egy sorba fűzte össze az egészet.
  • Agy Halott #9749
    ujabb problemaba utkoztem. a jelenlegi egyszeru popapnyito scriptemet le akarom cserelni egy designosabbra, csak Explorerben nem jelenik meg a tartalom. szo szerint nem jelenik meg, mert maga a radio szol de a lejatszo nem latszik. ez a jelenseg viszont Firefoxban es Operaban nem tapasztalhato, csak a nyomorek Explorerben; egy ures feherseget ad.

    jelenlegi popupnyito kod megtekintes a mozgo equalizerre kattintva

    specialis popupnyito kod megtekintes a mozgo equalizerre kattintva

    havki eseleg tudja mi a bibi, kerem segitsen. koszonom
  • ba32107
    #9748
    Ok, kösz. Majd még lehet, hogy kérdezek ha elakadok.
  • karajjj
    #9747
    .php-nek kell lennie a kiterjesztésének

    amúgy egyszerűbb ha felteszed ezt a gépedre és a www mappába írod meg a php-t, akkor nem kell a netes szereveren futtatnod, hanem tudod a gépeden is
  • ba32107
    #9746
    Közben találtam neten egy fórum postot, amiben azt írták, hogy a szerver meg sem nézi a html kiterjesztésű fájlokat hogy van-e benne php kód, így átneveztem php-ra, és most működik ahogy kell. Ez így jó megoldás?
  • ba32107
    #9745
    Üdv!

    Lenne egy kérdésem. Most csinálok egy honlapot az atw-nél. Abszolút kezdő vagyok mind html, mind php szintjén, szóval tök alap dolgot kérdezek. Tesztelgettem a php-s kiíratást: csináltam egy .php fájlt, és printtel sikerült is. De viszont: csináltam egy alap html-t, és abban a body tag-ek közé betettem ezt:
    <?php
    echo("Hello world!");
    ?>

    Ezt feltöltöttem a szerverre, és meghívtam böngészőből, de nem működik, üres oldalat dob ki. Mi a gond? Hogyan kell így beágyazni a php kódot? Muszáj lenne, mert enélkül semmit sem tudok csinálni. És még azt is szeretném kérdezni, hogy html kódban hogy lehet meghívni egy php szkript-fájlt? Láttam a neten ilyet: "<?php include "fajl.php" ?>" Ez működik? Le fog futni?

    Azt akarom megcsinálni most, hogy a híreket kiolvasom az adatbázisből. A mysql kapcsolódás kész van, külön php fájlból működik is az egész, de nekem html-ből kéne elindítani a szkriptet, hogy az output is oda menjen ki.
  • bracsek #9744
    mert a frontpage nem w3c szabvány szerint készíti el a weblapot, és a böngészőők amugy sem w3c szabvány szerint jeleníti meg.. ezzel örök életedben szenvedni fogsz, amig weblapokon dolgozol... egy idő után megszokod mit szabad és mit nem de addig :))
  • bras
    #9743
    helloztok, készítettem egy honlapot, PSPadban, illetve Frontpage-ben megjelenítve is minden a helyén van, de feltöltve netre a Firefox már úgy jeleníti meg, hogy jópár "div" el van csúszva. Ez miért van?