Jump to content
GSForum - Segélyvonal

PHP kérdésem van


Recommended Posts

Posted

Így világos, tehát akkor a jó megoldást választottam.

 

Már megcsináltam ugyanezen alapon működö módosítást is. Szóval értem. :)

 

Köszi

  • 2 weeks later...
Kovács Dávid ( Davs )
Posted

Unatkoztam :D:upsz:

Az sg.hu-n olvastam, hogy új rekord született a prímszámokban, itt. Kíváncsi voltam, hogy melyik ez a szám, tehát írtam rá egy scriptet:

<?php
echo "Starting...";
$szam=2;
for($i=0;$i<32582657;$i++)
{
$szam=$szam * $szam;
if($i % 1000 == 0)
    {
echo $i . "   " . $szam . "<br /> ";
}
}
$szam-=$szam;
echo $szam;
?>

 

Persze a php.ini-ben átállítottam a max. futtatási idõt. A kimenete ilyesmi:

Starting...0   4
1000   1.#INF
2000   1.#INF
3000   1.#INF
4000   1.#INF
5000   1.#INF
6000   1.#INF
7000   1.#INF
8000   1.#INF
9000   1.#INF

Magyarán már nem bírja el a számot. A settype-al meg lehet változtatni a $szam típusát, mert gondolom int volt most. A kérdés az, hogy mire? Egyáltalán ki lehet valahogyan azt a számot számolni?

Kovács Dávid ( Davs )
Posted

Újabb hatalmas probléma! Nem megy a bejelentkezés. Sessionokkal oldottam meg, az IE belép, a Foxi, Opera, Netscape meg NEM!

A log.php require-olva van az index.php-be

Log.php:

<?php
if(isset($_SESSION["error"]))
{
    echo $_SESSION["error"];
    session_unregister("error");
}
else
{
}
if(isset($_SESSION["logged"]))
{
    echo "Logged in<br/>" . $_SESSION["logged"];
    echo "<br/><a href='modify_account.php?goto=form'>Change details</a><br/>";
    echo "<br/><a href='logout.php'>Logout</a><br/>";
}
elseif(!isset($_SESSION["logged"]))
{
    echo "
        <form method='post' action='login.php'>
            Name :
            <br />
            <input type='text' name='logname'>
            <br />
            Password :
            <br />
            <input type='password' name='logpass'>
            <br />
            <input type='submit' name='logsubmit' value='Prihlasenie'>
            <br />
        </form>
    "  ;
}
else
{
    echo "Fatal Brutal Error!!!Formatting C:\ !!! The comp will explode in 5 sec. !!!";
}
?>

 

Login.php:

<?php
session_start();
include("connect.php");
if(isset($_POST["logsubmit"]))
{
    $logname=trim($_POST["logname"]);
    $logpass=md5(trim($_POST["logpass"]));
    if($logname=="" or $logpass=="")
    {
        $_SESSION["error"]="Ki kell tolteni az osszes mezot !!!";
        header("Location: index.php");
    }
    elseif($logname!="" && $logpass!="")
    {
        $login_query=mysql_query("SELECT * FROM accounts WHERE enable='1' AND active='1' AND name='$logname' AND password='$logpass'");
        if(mysql_num_rows($login_query)=="1")
        {
        $login_fetch=mysql_fetch_row($login_query);
        $_SESSION["logged"]=$login_fetch[1];
        $_SESSION["userid"]=$login_fetch[0];
        header("Location: index.php");
        //ha ide a header helyett pl azt irom, hogy echo $_SESSION["logged"], akkor az sikeresen lefut, thát ide biztosan eljut a program, a $_SESSION-t is beállítja, de nem megy.
        }
        elseif(mysql_num_rows($login_query)=="0" or mysql_num_rows($login_query)>"1")
        {
            $_SESSION["error"]="Fatal Brutal Error!!!";
            header("Location: index.php");     
        }
        else
        {
            $_SESSION["error"]="Fatal Brutal Error!!!";
            header("Location: index.php");
        }
    }
    else
    {
     echo "Fatal Brutal Error !!!";
    }
}
else
{
header("Location: index.php");
}
?>

Posted
Unatkoztam :D:upsz:

Az sg.hu-n olvastam, hogy új rekord született a prímszámokban, Egyáltalán ki lehet valahogyan azt a számot számolni?

 

A prímeket szövegként tárolt számokon keresik, mivel nincs az a numerikus típus, ami elbírná őket.

Pl 2^1000 egy 1001 bites szám, ami 126 bájton fér el! És akkor hol vagyunk még a 32582657-tól!

Posted

Hello!

 

Volt egy htm oldalam és átalakítottam php-re, mert úgy gondolom hogy az jobb, gyorsabb. Volt benne pár ötletes javascript. Miután már php-ként futtattam nem mûködött. A kérdésem az lenne hogy meg-e lehetne valahogy oldani hogy rendesen lefuttassa a javascriptet is?

Segítségeteket elõre is kösz!

Posted

Mit jelent az, hogy nem mûködött? Feltöltve az internetre, nem jelent meg az egész weblap?

Posted

Semelyik javascriptet nem tölti be.

Posted

Attól hogy php a kiterjesztése, még betölti a javascripteket.

Esetleg adj linket, és nézd meg, hogy olyan tárhely elõfizetésed van-e ami engedélyezi a php oldalak futtatását is (Ha nem ingyenes tárhelyen vagy).

Posted

ingyenesen vagyok

www.berces.uw.hu és ott az idõjárás menüpont

Posted

Nekem ezen az oldalon müködik az idõjáárás menüpont.

 

Konkrétan mi a hiba vele?

 

Posted

Például az hogy jobb oldalon nem mûködik a javascript óra, az alert üzenet, és ugyan már kiszedtem, de a sportlámpás kép se mûködött.

Posted

Nem igaz, hogy a php gyorsabb, mint a html. Sõt, inkább lassúbb, mert az adatfeldolgozás így egy lépéssel hosszabb. Ha nem vagy megelégedve a betöltési sebességgel, inkább szolgáltatót cserélj, az uw tapasztalataim szerint az egyik leglassúbb szolgáltató, legalábbis külföldrõl.

 

Ha a php oldalon nem megy a javascript, annak valószínûleg az az oka, hogy rosszul illesztetted be. Ezt vagy úgy lehetne megoldani, hogy a php oldalon a javascriptet ?> és <?php közé teszed, vagy pedig echo "ide jön a a teljes javascript nyitó és záró taggel együtt"; ennek szerintem mûködnie kell.

Posted

Beírtam így print "echo <script..."; és nem ment.

Posted

Vagy print "";, vagy echo "";.

És vigyázz arra, hogy az idézõjelen belül már ne legyen több idézõjel, de ha mégis, akkor az \" formában legyen.

 

Ha így sem mûködne, akkor próbáld meg azt, hogy befejezed a php scriptet a záró taggel, a javascript után pedig újra megnyitod (amennyiben még szükség van rá.) És adj az oldalnak html formát (head, body).

Posted

Aha kösz így már értem, az egyik biztos hogy mûködni fog.

Posted

Ha egy változónak szeretnék egy HTML-oldal tartalmat átadni (pl. HTML levél küldése a mail()-el), milyen karakterek elé kell "\"-t tennem, hogy ne kapjak hibaüzenetet?

Posted

A hibaüzenetet a @ jel blokkolja, és a változó elé kell tenni.

 

Ha a változó tartalma bonyolultabb, pl. egy hml levél, akkor szerintem célszerûbb a változót így definiálni:

 

$valtozo = <<<VALAMI_SZTRING
Ide jön a tartalom, aminek minden karaktere pont úgy fog megjelenni, ahogy leírod - beleértve az idézõjeleket, stb. Tehát nem kell a \ jelet használni.
A html tag-ek természetesen feldolgozásra kerülnek a böngészõben.
VALAMI_SZTRING;
//a lényeg, hogy ez a záró karaktersor ugyanaz legyen, mint a nyitó, és mindig új sor elején kezdõdjön

Posted

Úgy érted, a VALAMI_SZTRING és a HTML szöveg között semmi se legyen (még idézőjel sem)? Vagy esetleg szóköz? Na és ha a HTML tartalmat egy form-ban szeretném megadni (formfield_html), akkor használhatom a

mail(me@email.com, $_POST['formfield_html'], stb...);

formát?

Posted

Valahogy így gondoltam (amennyiben a formfield_html csak az üzenet szövegét tartalmazza):

 

$valtozo = <<<HTML_LEVEL
<html>
<head></head>
<body>
Szia! Ez most egy "próba" levél. <br>
$_POST['formfield_html']
</body>
</html>
HTML_LEVEL;

mail ($cimzett, $valtozo, stb.);

 

Ez a változók definiálásának ritkábban használt, de olykor nagyon hasznos módja.

A head-ben lévő dolgokat most kihagytam, de azokat is jó megadni.

Posted

@h.arpad

Itt egy script. Ami html formában küldi a mailt. Csak a $uzenet változónak kell átadni a szöveget, és már küldi is. Persze a mail címet be kell állítani.

 

Posted (edited)

Másképp gondoltam, és így üres levél érkezik meg a címzettnek, PHP hibaüzenet sincs (kivettem a mail() elöl a @-ot):

1. Létrehozok egy HTML form-ot helyi szerveren, ami így néz tehát ki a böngészőben.

<body>
<p>Az üzenet szövege:</p>
<form action="elkuldes.php" method="post" enctype="multipart/form-data" name="form_field" target="_self" id="form_field">
  <p>
    <textarea name="textarea" cols="100" rows="20"></textarea>
</p>
  <p>
    <input type="submit" name="Submit" value="Küldés" />
</p>
</form>
</body>

 

2. Ennek az elkuldes.php fájlnak adom át:

 

<?php
//Email tartalom
$targy = "próbalevél";
/* HTML levél küldése a Content-type fejléc megadásával */
$fejlec = "MIME-Version: 1.0\n";
$fejlec .= "Content-type: text/html; charset=iso-8859-2\n";
/* további fejlécek Itt beállithatod mit írjon feladónak */
$fejlec .= "From: email@sajatgep.hu";
/* üzenet */
$uzenet = $_POST['form_field']; //Az üzenet tartalma
mail("cimzett@levele.hu",$targy,$uzenet,$fejlec);
?>

 

Persze valós e-mail címmel próbálkozom, csak a saját címemnek adok tetszőlegeset (Free SMTP Server-t használok a küldéshez). Sima szöveggel gond nélkül megy minden. :hááát:

Edited by h.arpad
Posted

@h.arpad

 

Ezt kiveszed:

enctype="multipart/form-data"

Mert nem kell bele.

 

Ezt pedig:

$uzenet = $_POST['form_field']; //Az üzenet tartalma

Lecseréled erre:

$uzenet = $_POST['textarea']; //Az üzenet tartalma

 

És mennie kell.

 

Posted

Én balga, :lol: hát persze, hogy a mezőnevet kell átadni. Ezért volt üres az elküldött levél. Köszönöm! :fal: Az egyedüli szépséghibája persze, hogy mindenkinél a spam-ek között landol, de ez az ára a tetszőleges e-mail címnek. :)

Posted

Hi!

 

Még nagyon kezdõ vagyok a php-ben. Még csak az értékadásnál tartok. :upsz:

Egy nagyon egyszerû kérdésem lenne: csak egyszerûen ki szeretnék iratni egy szorzást, hogy kell felírni?

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...