php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 20.07.2008, 12:37  
Neuer Benutzer
 
Registriert seit: 20.07.2008
Beiträge: 4
aerow90 befindet sich auf einem aufstrebenden Ast
Standard Ganz einfaches Script nur wo ist der Fehler?

Hallo,

ich habe vor wenigen Tagen damit begonnen ein bisschen in PHP Büchern zu stöbern und wollte mir nun ein kleines ganz einfaches Script schreiben, dass über eine Formulareingabe (ist nur für Links gedacht) diese Daten in einer .txt abspeichert und dann eben als Links ausgibt.

Das hat geklappt: Alles bis dahin, inklusive dem schreiben in die .txt Datei

Das klappt nicht: Ich erhalte als Ausgabe nur, als normalen Text nl2br() und ausserdem bezweifle ich dass ich im Falle einer Ausgabe das ganze formatiert als klickbare Links erhalte.

Hier das Script (Also der Ausgabe Teil, das Eingabeformular hab ich noch extra, aber das funktioniert ja, da es normales HTML ist)


PHP-Code:
<?php
$rapid
="$_POST[link]";
$datei fopen('links.txt''a');
fwrite($datei"<a href=\"$rapid\" /> \n \n");
fclose($datei);
$datei2 fopen('links.txt''r');
$ausgabe fread($datei2);
$endausgabe"nl2br($ausgabe)";
echo 
"$endausgabe";
fclose($datei2);
?>
Bin dankbar für jede Antwort.

(PS: Hat einer von Euch nen Tipp parat wie man PHP am besten lernt, finde es nämlich weit aus schwerer, als ich so zuvor gehört habe)

Viele Grüße

aerow
aerow90 ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 20.07.2008, 13:09  
Neuer Benutzer
 
Registriert seit: 19.07.2008
Beiträge: 20
Unbass befindet sich auf einem aufstrebenden Ast
Standard

Hallo aerow90,
Ich habe den Fehler in deinem Script gefunden aber noch eine Frage:
Was soll denn das?
PHP-Code:
$rapid="$_POST[link]"
Übersichtlicher und sinnvoller ist es doch so:
PHP-Code:
$rapid $_POST[link]; 

Verbessertes script ist:
PHP-Code:
<?php
$rapid 
$_POST[link];
$datei fopen('links.txt''a');
fwrite($datei"<a href=\"$rapid\" />$rapid</a> \n \n");
fclose($datei);
$datei2 fopen('links.txt''r');
$ausgabe fread($datei2);
$endausgabe"nl2br($ausgabe)";
echo 
"$endausgabe";
fclose($datei2);
?>
Du hast den Text im <a> Tag vergessen und <a> nicht geschlossen.

Lg Unbass
Unbass ist offline  
Alt 20.07.2008, 13:22  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Soar ich hab das Skript mal ins "reine" geschrieben wie es vielleicht etwas übersichtlicher wäre.

PHP-Code:
<?php
$rapid 
$_POST['link']; // ohne Anführungszeichen, dafür link in ' ' Zeichen
$file 'links.txt'// Datei in die geschrieben werden soll

// neuen Link schreiben
$datei fopen($file'a');
fwrite($datei'<a href="'.$rapid.'">'.$rapid.'</a><br />');
fclose($file);

// Datei auslesen und Links anzeigen
$ausgabe file_get_contents($file); // file_get_contents() ist wesentlich einfacher zu nutzen als fopen/fread/fclose

// Links ausgeben
echo $ausgabe// wenn nur Variablen ausgegeben werden brauchst du ebenfalls keine Anführungszeichen
?>
Das wären so die hauptsächlichen Verbesserungen. Wenn du allerdings schon den Link mit dem <a> Tag drum herum abspeicherst, dann kannst du auch gleich noch ein <br /> hinten einfügen, dann braucht man kein nl2br()!

Außerdem wäre file_get_contents() praktisch da du dir so das "komplizierte" auslesen sparen kannst! Benötigt allerdings PHP Version > 5. Wobei du, wenn du PHP lernst, auf jeden Fall gleich mit PHP 5 anfangen solltest.
Flor1an ist offline  
Alt 20.07.2008, 17:47  
Neuer Benutzer
 
Registriert seit: 20.07.2008
Beiträge: 4
aerow90 befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

tausend dank, super Hilfe, werde das mal so versuchen. Ihr merkt die Syntax ist mir noch nicht so ganz vertraut, muss erst noch lernen ob und wann man welche Anführungszeichen braucht. Kleine Frage aber noch was bedeuten denn die Punkte und gleich die Aufeinanderfolge von " und ' hier

'<a href="'.$rapid.'">'.$rapid.'</a><br />'

Besten Dank
aerow90 ist offline  
Alt 20.07.2008, 18:02  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Der Punkt verknüpft Strings/Variablen.
PHP-Code:
<?php
$var 
'Text';

echo 
'Dies ist ein '.$var;
// ergibt "Dies ist ein Text"
Und mit ' ' schließt du den Text ein, die " " gehören zu dem href=" " dazu!
Flor1an ist offline  
Alt 20.07.2008, 18:04  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 643
kid01 befindet sich auf einem aufstrebenden Ast
kid01 eine Nachricht über Skype™ schicken
Standard

der html syntax wäre ja: <a href="abc">abc</a>
durch das ' unterbrichst du den string um eine PHP-Variable einzufügen. Diese wird mit einem . an den String angekettet.
Es geht auch:
$string='test'; $string.=' test';
$string wäre dann - testtest
kid01 ist offline  
Alt 20.07.2008, 18:08  
Neuer Benutzer
 
Registriert seit: 20.07.2008
Beiträge: 4
aerow90 befindet sich auf einem aufstrebenden Ast
Standard

Ah, allmählich verstehe ich, vielen Dank.

Dann nehme ich bei PHP vermehrt diesen ' an Stelle von '' um zb. Variablen einen Wert zuzuweisen bzw. über echo etwas auszugeben, oder?

Kleine Frage noch der Punkt vor .$rapid. verbindet, aber was macht der Punkt danach?

Geändert von aerow90 (20.07.2008 um 18:10 Uhr).
aerow90 ist offline  
Alt 20.07.2008, 18:14  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 643
kid01 befindet sich auf einem aufstrebenden Ast
kid01 eine Nachricht über Skype™ schicken
Standard

genau
der Punkt danach verbindet auch.
Der Syntax ist:
PHP-Code:
$test='Anfang des String - ende->'.$var.'Anfang 2. String - ende';
 
$var='funktioniert';
$test='es '.$var.' juhu';
echo(
$test);   ->es funktioniert juhu
echo($test.' !!');   ->es funktioniert juhu !! 

Geändert von kid01 (20.07.2008 um 18:18 Uhr).
kid01 ist offline  
Alt 20.07.2008, 18:17  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Der Punkt danach verbindet $rapid natürlich mit dem String der danach kommt. Gleiche Funktionsweise!

Ob du ejtzt ' ' oder " " verwendest ist fast egal. Wenn du " " nutzt kannst du in einem String Variablen nutzen. Bei ' ' nicht! Hier ein Beispiel:

PHP-Code:
<?php
$var 
'Test';

echo 
"Dies ist ein $var"// ergibt "Dies ist ein Test"
echo 'Dies ist ein $var'// ergibt "Dies ist ein $var"
Flor1an ist offline  
Alt 20.07.2008, 18:28  
Neuer Benutzer
 
Registriert seit: 20.07.2008
Beiträge: 4
aerow90 befindet sich auf einem aufstrebenden Ast
Standard

Ihr seid echt klasse hier, vielen Dank
aerow90 ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Frage: Suche Fehler in diesem Script... PHP Tipps 2005-2 14 25.10.2005 19:24
Formular Script hat fehler! PHP Tipps 2005-2 4 09.10.2005 11:34
Hilfe, finde Fehler im Script nicht! PHP Tipps 2005-2 5 28.08.2005 01:37
Fehler im Script (?) - Auf Webserver funzt der Code... PHP Tipps 2005 5 09.05.2005 11:17
Fehler bei Script, welches Ordner erstellt PsychoEagle PHP Tipps 2005 3 23.04.2005 16:03
Fehler im Script (evtl. rand() ) horvath-media PHP Tipps 2005 2 31.03.2005 14:25
Fehler im Script {m-d} HTML, Usability und Barrierefreiheit 4 28.03.2005 17:04
[Erledigt] Fehler in diesem script!!!!??? Datenbanken 6 21.03.2005 17:32
Fehler in Bild-upload Script PHP Tipps 2004-2 5 19.11.2004 14:01
Habe Fehler im Script bitte um Hilfe test022 PHP Tipps 2004-2 9 13.11.2004 17:44
[Erledigt] Brauch ein einfaches Formmail script PHP Tipps 2004 2 18.08.2004 20:40
[Erledigt] suche gutes einfaches script zum email mit attachment versen PHP Tipps 2004 2 05.08.2004 19:05
fehler im script PHP Tipps 2004 1 27.07.2004 21:05
[Erledigt] Wo ist der Fehler im Script (MySQL mit PHP) PHP Tipps 2004 15 27.07.2004 09:25

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
ganz einfachen php code für formulare, fopen link datei, fopen links

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:59 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum