- bitpork: Phautós tali a Balcsinál 2025 Augusztus 2 napján (szombat)
- Luck Dragon: Asszociációs játék. :)
- gban: Ingyen kellene, de tegnapra
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- sziku69: Fűzzük össze a szavakat :)
- Rap, Hip-hop 90'
- btz: Internet fejlesztés országosan!
- hege8888: Retro Kocka Kuckó 3
- GoodSpeed: AMD Ryzen 9 9900X (100-100000662WOF)+ Samsung 990 PRO 2TB MZ-V9P2T0BW
- Gurulunk, WAZE?!
Hirdetés
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
Használd a stripslashes() függvényt ott, ahol a kiíratást elvégzed, és ha jól csinálod, megvagy.
-
DviDee
csendes tag
Azt még hozzáfűzném a problémámhoz, hogy ez írja ki:
Warning: SimpleXMLElement::__construct() [simplexmlelement.--construct]: Entity: line 1: parser error : Input is not proper UTF-8, indicate encoding ! Bytes: 0xE9 0x63 0x73 0x2C in /mnt/storage/virtual/domain.hu/htdocs/T/a/weather.php on line 6
Warning: SimpleXMLElement::__construct() [simplexmlelement.--construct]: w="0" mobile_zipped="1" row="0" section="0" ><forecast_information><city data="P in /mnt/storage/virtual/domain.hu/htdocs/T/a/weather.php on line 6
Warning: SimpleXMLElement::__construct() [simplexmlelement.--construct]: ^ in /mnt/storage/virtual/domain.hu/htdocs/T/a/weather.php on line 6
Fatal error: Uncaught exception 'Exception' with message 'String could not be parsed as XML' in /mnt/storage/virtual/domain.hu/htdocs/T/a/weather.php:6 Stack trace: #0 /mnt/storage/virtual/domain.hu/htdocs/T/a/weather.php(6): SimpleXMLElement->__construct('<?xml version="...') #1 /mnt/storage/virtual/domain.hu/htdocs/T/a/weather.php(31): getWeather() #2 {main} thrown in /mnt/storage/virtual/domain.hu/htdocs/T/a/weather.php on line 6
-
Sk8erPeter
nagyúr
Legegyszerűbb, ha checkbox-ok formájában jeleníted meg az összes fájlt, így többet is tudsz törölni. A következő módon képzeltem el (a könyvtár nevénél az általad írt nevet használtam fel):
legyen a megjelenítésért felelős fájl az index.php
index.php :<?php
session_start(); //sessiont indítunk
header('Content-Type: text/html; charset=utf-8'); //karakterkódolás
$dir = opendir("../ahol_torlok"); //könyvtár beállítása
while(false !== ($file = readdir($dir))){
if (strpos($file, '.txt',1)){
$file_array[]=$file; //fájlnév eltárolása tömbben
}
}
?>
<html>
<head><title>Txt-törlő</title></head>
<body>
<?php
if( isset($_SESSION['message']) ){ //ha létezik a változó, vagyis van törlésről szóló üzenet (siker vagy hiba)
echo $_SESSION['message']; //kiírjuk
unset($_SESSION['message']); //kiírás után töröljük
}
?>
<form method="post" action="torles.php">
<?php
//=0;
foreach($file_array as $i=>$file_to_delete)
echo '<input type="checkbox" name="file_select[]" value="'.$file_to_delete.'" id="'.$i.'" />'.$file_to_delete.'<br />';
?>
<input type="submit" name="del_files" value="Kép feltöltése" onclick="return confirm('Biztos, hogy törlöd a kijelölt fájlokat?')" style="height:50px;margin:20px;" />
</form>
</body>
</html>És legyen egy torles.php (az index.php-vel azonos könyvtárban), amelyik fájlba az űrlapot átirányítod, és amivel törlöd a kijelölt fájlokat (ez a feldolgozó fájl):
torles.php :
<?php
if( isset($_POST['del_files']) )
{
session_start();
$_SESSION['message']=''; //hibaüzenetekre és sikert jelző üzenetekre
$dir='../ahol_torlok';
foreach($_POST['file_select'] as $index=>$name_of_file){
$name_of_file=stripslashes($name_of_file);
if(true === unlink( $dir.'/'.$name_of_file ) )
$_SESSION['message'].=($index+1).'. sikeres törlés! A "'.$name_of_file.'" nevű fájl törlése sikeresen megtörtént! <br />';
else
$_SESSION['message'].=($index+1).'. Hiba! A "'.$name_of_file.'" nevű fájl törlése meghiúsult! <br />';
}
}
//Átirányítás az eredeti oldalra
header('Location: index.php');
?>Persze esetleg a fájlnevekre még be lehetne tenni valami ellenőrzést, de ezzel most nem foglalkoztam. De mivel pl. az idézőjel nem megengedett a fájlnévben, ezért nem lesz probléma.
Természetesen előtte kipróbáltam, működik.
Ha valami nem világos, kérdezz.
Remélem sokat segítettem. -
Sk8erPeter
nagyúr
Hű, kicsit túlbonyolítod.
<html>
<head>
<title>Üdv az oldalamon! - <?php
switch ($_GET['KV'])
{
case 'kapcsolat': echo 'Kapcsolat'; $oldal='pages/contact.php'; break;
case 'rolam' : echo 'Rólam'; $oldal='pages/my.php'; break;
default : echo 'Főoldal'; $oldal='pages/home.php'; break;
}
?>
</title>
</head>
<body>
<?php
if( is_file($oldal) )
include_once($oldal);
else echo 'Nincs ilyen fájl!';
?>
</body>
</html>Még nyilván ennél van szebb megoldás, de most elsőre ez jutott eszembe.
-
Tele von Zsinór
őstag
-
Tele von Zsinór
őstag
-
1ed
csendes tag
A FILE_TEXT-re ezt írja: 'This flag is only available since PHP 6.' Szal az szerintem nem is kell. Illetve lemaradt egy ' a fájlnév után.
file_put_contents('../levelek/mails.txt', $to.$subject.$msg.$mailheaders."\n\n", FILE_APPEND);
Ez a rész: '../levelek/mail-'.date("Y-m-d-His",time()) mindig új fájlnevet generál az aktuális időből, szal ha egy fájlba akarod akkor ez nem jó.
-
1ed
csendes tag
Akkor mondjuk:
file_put_contents('../levelek/mail-'.date("Y-m-d-His",time()), $to.$subject.$msg.$mailheaders, FILE_TEXT);
A mail ($to, $subject, $msg, $mailheaders); helyére.
Persze még ki lehet egészíteni hibaellenőrzéssel és valami random számot is lehet belerakni hogy biztos ne legyenek egyforma nevű fájlok, vagy lehet egy fájlba is menteni.http://www.php.net/manual/en/function.file-put-contents.php
http://www.php.net/manual/en/function.fwrite.php -
PazsitZ
addikt
A head tag, de még a <html> tag is (bármely html elem) azonnal kiírandó input.
A session-t rakd be a fő fájlod legelejére.
(A session_start elé max. PHP parancsok kerülhetnek, amelyek nem írnak az outputra, de többnyire még így is szinte mindig legelöl helyezkedik el)1: <?PHP
2: session_start();
3: ?>
4: <html>
5: <head>
6: </head>
7: <body>
8: <?PHP include 'mail.php'; ?>
9: ... -
cucka
addikt
Na lássuk.
Ha elolvasod a hibaüzenetet, akkor kiderül, hogyoutput started at /mnt/storage/www/virtual/.../index.php:8
Itt írtál ki először valamit a script kimenetére, ekkor a php létrehozta a http header-t. (Korábban ezt már leírtam)
in /mnt/storage/www/virtual/.../mail.php on line 3
Itt próbálod meghívni a session_start()-ot. Ez az előző kódsor után fut le.
Ennél jobban nem tudom elmagyarázni, bocs.
-
ArchElf
addikt
Ugye...
1) mentettél is
2a) nem inline a php kódod, hanem <?php val kezdődik a fájl, és az első sor a session_start();
2b) ha inline de mégsem az első, ugye az include-olt fájlok is BOM nélkül vannak mentve, és nem inline-osak, és nincs bennük egy szem kimenetre írás sem.AE
-
cucka
addikt
A hibaüzenet azt jelenti, hogy a session_start kiírtál valamit az output-ra. Ez lehet egy egyszerű print, vagy egy szóköz a <?php tag előtt, esetleg a szövegszerkesztőd a file elejére illeszti a BOM-ot, tehát azt kapcsold ki.
Ha valakit mélyebben érdekel: a php a http válasz fejlécét akkor hozza létre, amikor először kikerül valami a programod standard kimenetére. Bármilyen, a http fejléceket módosító függvényt csak ez előtt lehet meghívni. Ilyen például a header(), a session_start() vagy a setcookie() függvény is.
-
Tele von Zsinór
őstag
[...]
if ($_POST[op] != "ds") {
$a = rand(1,9);
$b = rand(1,9);
$_SESSION['c']=$a+$b;
echo "<form method=\"post\" action=\"$PHP_SELF\">
<p><strong>Your name:</strong><br>
<input type=\"text\" name=\"name\" size=30 value=\"$_POST['name']\"</p>
<p><strong>Your email:</strong><br>
<input type=\"text\" name=\"email\" value=\"$_POST['email']\"size=30</p>
<p>$a + $b = <br>
<input type=\"text\" name=\"szam\" value=\"$_POST['szam']\"size=30</p>
<p><strong>Comments:</strong><br>
<textarea name=\"comments\" cols=30 rows=5 wrap=virtual>$_POST['comments']</textarea></p>
<input type=\"hidden\" name=\"op\" value=\"ds\">
<p><input type=\"submit\" name=\"submit\" value=\"Mehet\"></p></font>
</form>";
} [...]
Új hozzászólás Aktív témák
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Kingston FURY Renegade G5: Adatok villámgyorsan
- Futárcégek
- Ubiquiti hálózati eszközök
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- Külföldi rendelések: boltok, fizetés, postázás
- Milyen autót vegyek?
- Gumi és felni topik
- Battlefield 6
- bitpork: Phautós tali a Balcsinál 2025 Augusztus 2 napján (szombat)
- További aktív témák...
- HIBÁTLAN iPhone 14 Pro Max 256GB Silver -1 ÉV GARANCIA - Kártyafüggetlen, MS3147
- HIBÁTLAN iPhone 14 Pro Max 128GB Deep Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS3146
- HIBÁTLAN iPhone 14 Pro 128GB Gold -1 ÉV GARANCIA - Kártyafüggetlen, MS3145
- Nitro ANV15-52 15.6" FHD IPS i9-13900H RTX 5050 MaxQ 32GB 1TB NVMe gar
- GYÖNYÖRŰ iPhone 13 mini 128GB Green -1 ÉV GARANCIA - Kártyafüggetlen, MS3141, 95% Akkumulátor
- HIBÁTLAN iPhone 11 64GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS2132
- Asus HYPER M.2 X16 GEN 4 bővítő.
- HIBÁTLAN iPhone 14 Pro Max 256GB Space Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3009
- Kodak PD460 Instant Dock Printer / Számla és Garancia
- Telefon felvásárlás!! Samsung Galaxy A70/Samsung Galaxy A71/Samsung Galaxy A72
Állásajánlatok
Cég: FOTC
Város: Budapest