Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
(In)security allgemein Sicherheit, Anonymität im Netz. Schutz und Maßnahmen. Prävention und Konzepte. Sicherheitsarchitekturen allgemein und auf der Netzwerkebene.

Hyperlinks und PHP

Diskussion: Hyperlinks und PHP im Forum (In)security allgemein, in der Kategorie Security Area; Anzeige Ich will per PHP einen Hyperlink in meine Website einbauen, der die Adresse aus der Variable betreff nimmt. Also ...

Antwort
Alt 15.11.05, 18:05   #1 (permalink)
 
Registriert seit: 13.11.05
Mercurius Leistung: Facit NTK
Likes: 0
Smile Hyperlinks und PHP

Anzeige

Ich will per PHP einen Hyperlink in meine Website einbauen, der die Adresse aus der Variable betreff nimmt. Also habe ich geschrieben:

<a href=$betreff>LINK</a>

Aber es funktioniert nicht. Was habe ich falsch gemacht? Ich habe auch http://$betreff versucht, aber es geht nicht!

Mercurius ist offline   Mit Zitat antworten
Alt 15.11.05, 18:07   #2 (permalink)
 
Registriert seit: 23.05.05
Xalon Leistung: Facit NTK
Xalon eine Nachricht über ICQ schicken
Likes: 0
Standard

Alles was in PHP als HTML interpretiert werden soll muss mit echo ausgegeben werden.
Wen du dann was mit echo ausgeben willst das also HTML interpretiert werden soll un da 2 dabei sind einfach durch ' ersetzen,sinst bricht echo da ab.
Code:
echo ("<a href=$betreff>LINK</a>")
Xalon
Xalon ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 15.11.05, 18:09   #3 (permalink)
Themenstarter
 
Registriert seit: 13.11.05
Mercurius Leistung: Facit NTK
Likes: 0
Standard

Edit: Ok, Problem gelöst.

Aber da fällt mir noch eine Frage ein: Wie kann ich bei PHP/HTML einen Text zentriert anzeigen?
Mercurius ist offline   Mit Zitat antworten
Alt 15.11.05, 18:15   #4 (permalink)
 
Benutzerbild von $oul
 
Registriert seit: 19.12.04
$oul Leistung: Z3
$oul eine Nachricht über ICQ schicken
Likes: 2
Standard

ich weiß nicht ob es wichtig ist, aber es heißt doch

Code:
<a href="URL">name</a>
und nicht

Code:
<a href=URL>name</a>
mfg $oul
__________________
Der eigene Wille müsste stets ein wenig mächtiger sein, als es das eigene Selbst ist.
Aber Wunschdenken stellt ein Risiko dar und so etwas können wir uns in einem Weltkapitalismus nicht leisten.
$oul ist offline   Mit Zitat antworten
Alt 15.11.05, 18:21   #5 (permalink)
 
Registriert seit: 18.07.05
Malo Leistung: Facit NTK
Likes: 0
Standard

Zitat:
Original von $oul
ich weiß nicht ob es wichtig ist, aber es heißt doch

Code:
<a href="URL">name</a>
und nicht

Code:
<a href=URL>name</a>
mfg $oul
HTML 4.1 Transitional akzeptiert jedoch beides. Wie es danach aussieht (4.1 Strict oder XHTML) weiß ich jedoch nicht

//nachtrag: Zentriert geht so:
Code:
<center>Das ist ein zentrierter Text</center>

Aber HTML 4.1 Strict müsstest du es mit CSS machen. Ich glaub, das geht mit text-align.
Code:
<span style="text-align:center">Zentrierter Text</span>


Keine Gewähr.
Malo ist offline   Mit Zitat antworten
Alt 15.11.05, 18:27   #6 (permalink)
Senior Member
 
Registriert seit: 18.09.05
[starfoxx] Leistung: Facit NTK
Likes: 0
Standard

Moment, ich hätte da noch 2 worte zu sagen:
PHP ist nicht "eine andere Sprache" als HTML.
Es ist, wie der Name schon sagt, ein Hypertext Preprocessor.
Soll heissen dass der PHP Code vom Server geparst, von mir aus durchgerechnet wird, und dann reines html an den browser geschickt wird.

Du kannst alle html tags in PHP benutzen.

Nur musst du dem Server Sagen dass er diesen Code ausgeben soll, und nicht rechnen damit.

Das geht unter Anderem mit dem echo''; befehl.

Hoffentlich war das verständlich und hilft dir.
[starfoxx] ist offline   Mit Zitat antworten
Alt 15.11.05, 19:16   #7 (permalink)
Themenstarter
 
Registriert seit: 13.11.05
Mercurius Leistung: Facit NTK
Likes: 0
Standard

Danke, alle Fragen sind beantwortet
Mercurius ist offline   Mit Zitat antworten
Alt 15.11.05, 22:21   #8 (permalink)
 
Registriert seit: 25.08.04
Sunstepper Leistung: Facit NTK
Likes: 0
Standard

@ erste Frage:
Schneller (von der Ausführungsgeschwindigkeit) ist es jedoch so:
echo '<a href="'.$betreff.'">Klick mich.</a>';

Lieber gleich richtig lernen. Erspart späteres Umgewöhnen.
Sunstepper ist offline   Mit Zitat antworten
Alt 15.11.05, 23:06   #9 (permalink)
 
Registriert seit: 12.02.05
shano Leistung: Facit NTK
Likes: 0
Standard

Zitat:
Original von Sunstepper
@ erste Frage:
Schneller (von der Ausführungsgeschwindigkeit) ist es jedoch so:
echo '<a href="'.$betreff.'">Klick mich.</a>';

Lieber gleich richtig lernen. Erspart späteres Umgewöhnen.
Wobei das auch gehen würde, ohne das man mit Verknüpfungspunkten arbeitet und was weiss ich wievielen einfachen und doppelten Anführungsstrichen, da php alles was in doppelten Anführungszeichen steht nach Variablen durchsucht. Ob's schneller ist weiss ich nicht.

Code:
echo "<a href='$betreff'>Klick mich.</a>";
shano ist offline   Mit Zitat antworten
Alt 19.11.05, 13:27   #10 (permalink)
 
Registriert seit: 25.08.04
Sunstepper Leistung: Facit NTK
Likes: 0
Standard

Nein, das ist eben so langsamer.
Sunstepper ist offline   Mit Zitat antworten
Alt 19.11.05, 22:02   #11 (permalink)
 
Registriert seit: 13.03.05
BattleMaker Leistung: Facit NTK
Likes: 0
Standard

Zitat:
Nein, das ist eben so langsamer.
Eben! Was meinst du denn, wie PHP die Variablen in dem String findet? Muss sie natürlich erst suchen, dann den String verändern usw... das ist ein enormer Mehraufwand.

Hätte mich aber nicht irgendwann jemand darauf hingewiesen, hätte ich meine ganze HP mit den " geproggt, d.h. PHP hätte die Strings nach Variablen durchsucht, obwohl keine drin sind (ich mache so etwas wie "$variable" prinzipiell NIE!!! )


MfG, BattleMaker
BattleMaker ist offline   Mit Zitat antworten
Alt 19.11.05, 22:48   #12 (permalink)
Moderator
 
Benutzerbild von Elderan
 
Registriert seit: 30.03.04
Elderan Leistung: 8086
Likes: 14
Standard

Hallo,
also ich mal nen kleinen Benchmark geschrieben:
PHP-Code:
<?php
define
("RUNS",40000);

$test "TEST";
$variable "VARIABLE";

ob_start();
$start = (double)microtime()+time();
for(
$i=0;$i<RUNS;$i++)
    {
    echo 
"Dies ist ein $test mit einer $variable.";
    }
$ende = (double)microtime()+time();
ob_end_clean();
echo 
"#1: ".($ende-$start)."<br>";

ob_start();
$start = (double)microtime()+time();
for(
$i=0;$i<RUNS;$i++)
    {
    echo 
"Dies ist ein ".$test." mit einer ".$variable.".";
    }
$ende = (double)microtime()+time();
ob_end_clean();
echo 
"#2: ".($ende-$start)."<br>";

ob_start();
$start = (double)microtime()+time();
for(
$i=0;$i<RUNS;$i++)
    {
    echo 
'Dies ist ein '.$test.' mit einer '.$variable.'.';
    }
$ende = (double)microtime()+time();
ob_end_clean();
echo 
"#3: ".($ende-$start)."<br>";

ob_start();
$start = (double)microtime()+time();
for(
$i=0;$i<RUNS;$i++)
    {
    echo 
"Dies ist ein ";
    echo 
$test;
    echo 
" mit einer ";
    echo 
$variable;
    echo 
".";
    }
$ende = (double)microtime()+time();
ob_end_clean();
echo 
"#4: ".($ende-$start)."<br>";

ob_start();
$start = (double)microtime()+time();
for(
$i=0;$i<RUNS;$i++)
    {
    echo 
'Dies ist ein ';
    echo 
$test;
    echo 
' mit einer ';
    echo 
$variable;
    echo 
'.';
    }
$ende = (double)microtime()+time();
ob_end_clean();
echo 
"#5: ".($ende-$start)."<br>";

?>
Getestet unter WinXP.

PHP4.3.11:
#1: 0.7748589515686 // echo "Hallo $var";
#2: 0.67267489433289 // echo "Hallo ".$var;
#3: 0.67934679985046 // echo 'Hallo'.$var;
#4: 0.65346503257751 //echo "Hallo"; echo $var;
#5: 0.64433789253235 //echo 'Hallo'; echo $var;

PHP 5.0.3:
#1: 0.67918086051941 // echo "Hallo $var";
#2: 0.68585395812988 // echo "Hallo ".$var;
#3: 0.67744398117065 // echo 'Hallo'.$var;
#4: 0.67258596420288 //echo "Hallo"; echo $var;
#5: 0.66632485389709 //echo 'Hallo'; echo $var;


Bei PHP4 gibt es einen kleinen Unterschied, aber bei PHP5 ist der Unterschied kaum messbar, und von Test zu Test zwanken die Ergebnisse.

Desweiteren wurde 40000 Ausgaben simuliert.

Es gibt deutlich effektiver Methoden seinen Script zu optimieren (vorallem SQL mäßig), da ist es relativ egal, wie man die Variablen ausgibt.
Elderan ist offline   Mit Zitat antworten
Alt 20.11.05, 19:22   #13 (permalink)
 
Registriert seit: 20.11.05
CraHack Leistung: Facit NTK
Likes: 0
Standard

Bei mir W2K

PHP 5.weis nicht mehr

#1: 0.670268058777
#2: 0.527228116989
#3: 0.61372089386
#4: 0.598748922348


Bei mir sind die unterschiede schon etwas größer. Wo bei der Unterschied bei dieser Beträchtlichen Anzahl an ausgaben, im einzelnen, wohl doch nur sehr klein ist.
CraHack ist offline   Mit Zitat antworten
Alt 21.11.05, 08:11   #14 (permalink)
 
Registriert seit: 25.08.04
Sunstepper Leistung: Facit NTK
Likes: 0
Standard

Danke für den Benchmark.
Hab den Code mal laufen lassen. Linux 2.4, Apache 1.3, PHP 4.4, Produktivumgebung.

#1: 0.1071400642395
#2: 0.065639019012451
#3: 0.064709186553955
#4: 0.05033802986145
#5: 0.050179004669189

Gut, die Unterschiede zwischen #1 und #2/#3 sind nicht weltbewegend, aber immerhin da. #4/#5 sind doppelt so schnell; war mir nicht bewusst. Zwischen " und ' gibt es, wenn keine Variable involviert ist, keine Unterschiede.

Stimme Dir aber zu; SQL-Optimierung bringt weit mehr, aber man will halt immer ordentlich was rausholen.
Sunstepper ist offline   Mit Zitat antworten
Alt 21.11.05, 13:27   #15 (permalink)
 
Registriert seit: 13.03.05
BattleMaker Leistung: Facit NTK
Likes: 0
Standard

Also ich finde, dass auch geringe Unterschiede auf stark belasteten Servern sehr viel ausmachen koennen. Wenn pro Sekunde tausende Male ein Skript aufgerufen wird, bemerkt man schon die eine oder andere Veraenderung, oder etwa nicht...


Mann die scheiss tastatur hier in der Schule kann keine Sonderzeichen mehr gescheit darstellen. Obwohl das deutsche Schema eingestellt ist... MIST


MfG, BattleMaker
BattleMaker ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Security Area » (In)security allgemein » Hyperlinks und PHP
Themen-Optionen
Ansicht

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

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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Gültigkeit von Hyperlinks überprüfen. freakazoid (Web-) Design und webbasierte Sprachen 5 30.08.07 12:29
Hyperlinks und Datenbank Neuling502 (Web-) Design und webbasierte Sprachen 4 29.12.05 14:50


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61