- Milyen okostelefont vegyek?
- Apple Watch Sport - ez is csak egy okosóra
- Mi nincs, grafén akku van: itt a Xiaomi 11T és 11T Pro
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- CMF Phone 2 Pro - a százezer forintos kérdés
- Honor 400 - és mégis mozog a kép
- Google Pixel topik
- Motorola Moto Tag - nyomom, követ
- iPhone topik
Ú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
Hirdetés
- Dacia topic
- A nagy Szóda, Szódakészítés topic - legyen egy kis fröccs is! :-)
- Formula-1
- Xbox tulajok OFF topicja
- Kazy Computers - Fehérvár - Megbízható?
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Székesfehérvár és környéke adok-veszek-beszélgetek
- Mikrotik routerek
- Autós topik
- Milyen okostelefont vegyek?
- További aktív témák...
- ÁRGARANCIA!Épített KomPhone i5 10600KF 16/32/64GB RAM RTX 3050 6GB GAMER PC termékbeszámítással
- Bomba ár! Fujitsu LifeBook U7310 - i5-10GEN I 16GB I 256SSD I 13,3" FHD I HDMI I Cam I W11 I Gari!
- Telefon felvásárlás!! Samsung Galaxy S21/Samsung Galaxy S21+/Samsung Galaxy S21 Ultra
- Telefon felvásárlás!! iPhone 12 Mini/iPhone 12/iPhone 12 Pro/iPhone 12 Pro Max
- BESZÁMÍTÁS! AOC 24P1 24 FHD 60Hz 5ms monitor garanciával hibátlan működéssel
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Liszt Ferenc Zeneművészeti Egyetem
Város: Budapest