PHP Homepage mit Loginbereich

aber nicht übertreiben, es sollte nicht zu viel last entstehen (das ist ja der hauptgrund warum chats u.ä. verboten sind).

Das bild kommt doch von ihm selber also nicht vom bplaced server da is des doch sch*** egal
oda?

–Kein Bookmarklet mehr :frowning:

tjaa, da hab ich wohl den anfang nich gelesen :slight_smile: haben nich alle so viel zeit wie schüler in den ferien :wink:
dann isses natürlich kein problem, auch wenner ne schnelle leitung haben sollte :stuck_out_tongue:

Denkst du etwa ich würde n Code Teil posten des gegen die AGB von bplaced verstößt ? Neeeeeee niemals :stuck_out_tongue:

Wenn dann gib ich nur manchmaln Tipp (wie dir letztens) :ps:

Hallo matze66

Das Login Script ist soweit OK. Die Benutzereingaben werden über mysql_real_ecape_string verarbeitet um eine SQL Injection vorzubeugen. Beim Login wird mehr als nur eine Session gesetzt und das nicht nur true sowie session_regenerate_id() gegen session fixation benutzen.

Das Script hat schon einige Jährchen auf dem Buckel trotzdem sehe ich da keine Entschuldigung für sachen wie:

@mysql_query($qry);

Sollte man wirklich nicht verwenden. Wenn schon das error_reporting auf 0 setzten und alles in eine error_log schreiben. So bekommt man nicht mal mit das man Angegriffen wird und für alle anderen ist es unerklärlich wieso die mysql_query nicht funktionieren obwohl kein Fehler kommt

die("Query failed");

Aha da wird sich der Besucher freuen wenn er eine zerrissene Seite bekommt auf der irgendwo plötzlich im Eck steht Query failed. Danach schreibt er verärgert dem Webmaster und dieser sag ok… und was soll ich jetzt mit der Meldung anfangen?

header("location: register-success.php");

Absoluten URI sind mit $_SERVER[‚HTTP_HOST‘], $_SERVER[‚PHP_SELF‘] und dirname() wirklich nicht mehr so viel Arbeit.

<h1>Welcome <?php echo $_SESSION['SESS_FIRST_NAME'];?></h1>

Den User zu begrüssen ist wirklich etwas nettes. Doch der Name in der Session kommt auch aus der DB:

$member = mysql_fetch_assoc($result); $_SESSION['SESS_FIRST_NAME'] = $member['firstname'];
Dann sollte man aber doch zumindest einmal htmlspecialchars verwenden. Anstatt dem User jedesmal das Script aus der Session direkt in die Ausgabe zu liefern. Somit nützt später unter umständen session_regenerate_id() auch nichts mehr. Da es nur beim setzten der Login Daten verwendet wurde.

Wünschenswert wäre auch die Session ID reglmässig zu erneuern. Zum Beispiel über:

if (!isset($_SESSION['generated']) || $_SESSION['generated'] < (time() - 30)) { session_regenerate_id(); }

Sowie session.use_only_cookies auf true zu halten sollte es 0 sein (ab php 5.3 ist es standardmässig 1)

Die session_id in der DB zu speichern und diese mit abzugleichen wäre auch nicht schlecht.

Und noch paar Kleinigkeiten. Aber ich will jetzt nicht ein Buch daraus machen !coffee oder den Autor kritisieren.

Wenn du jetzt natürlich nur Bahnhof verstanden hast ist das Script soweit ok. Solange du nicht wie andere Hobbywebmaster deinen Usern absolute Sicherheit versprichst usw.
Ansonsten wäre in Zeiten von PHP5.3, MySQLi und HTML5 ein etwas moderneres Loginscript wünschenswert.

wow was Antworten.

Für Livecam und wegen Loginsicherheit :slight_smile:

Danke erstmal.

was „ausschliessi“ alles geschrieben hat ist echt toll, ich als php-Neuling weiß alleridngs nicht mit allem was anzufangen o.0 Muss mich da mal in Ruhe durch lesen… Also scheint es wohl doch die eine oder andere Lücke zu geben bzw. nicht optimal programmiert:

Wegen der Livecam, werde ich heute Abend mal daheim ausprobieren.

Echt Klasse Jungs, dass ihr hier einem so toll helft :wink:

Servus,
hab grad als Livecam-Script mal probiert, aber läuft zumindest mit der Livecam selbst noch nicht… (davon abgesehen ist diese glaube ich offline). Hab mal eine neue “FOSCAM” gefunden und die eingebunden, aber läuft als noch nicht…

<?php
$Javascriptzeit = date("Y, n, j, G, i, s");
$std = date("H");
if($std >= '08' && $std < '20') {
?>

<script language="JavaScript">
<!--
var Serverzeit = new Date(<?php echo$Javascriptzeit; ?>);
var Stunden = Serverzeit.getHours()

function camon() {
  if(Stunden >= '8' && Stunden < '20') {
    a = 1 + 88*(Math.random());
    a = Math.round(a);
    img = new Image();
    img.src = 'http://188.134.6.164/snapshot.cgi?log&user=demo&pwd=demo#'+a;
    document.getElementById(PIC_ID).src = img.src;
  } else {
    //Cam Offline
    clearInterval(timerid);
  }
}
timerid = setInterval("camon()", 10000);  //Alle 10 Sek Bild holen
</script>
<?php } else {
  $bildofflineurl = "images/livecam-offline-bild.jpg";
} ?>
<img id="PIC_ID" src="<?php echo $bildofflineurl; ?>">

Und war (glaube ich) ein kleiner Fehler drin.
if(Stunden >= ‘8’ && Stunden < ‘20’) {
Aber läuft immer noch nicht mit der Cam. OfflineBild geht.

Hi,

poste doch mal n link von der seite dann kann ich mir des selber anschaun :wink:

lg flo

<?php
$Javascriptzeit = date("Y, n, j, G, i, s");
$std = date("H");
if($std >= '08' && $std < '24') {
?>

<script language="JavaScript">
<!--
var Serverzeit = new Date(<?php echo$Javascriptzeit; ?>);
var Stunden = Serverzeit.getHours()

function camon() {
  if(Stunden >= '8' && Stunden < '24') {
    a = 1 + 88*(Math.random());
    a = Math.round(a);
    img = new Image();
    img.src = 'http://multikontrade.dyndns.org:82/snapshot.cgi?log&user=gast&pwd=gast#'+a;
    document.getElementById(PIC_ID).src = img.src;
  } else {
    //Cam Offline
    clearInterval(timerid);
  }
}
timerid = setInterval("camon()", 1000);
</script>
<?php } else {
  $bildofflineurl = "images/livecam-offline-bild.jpg";
} ?>
<img id="PIC_ID" src="<?php echo $bildofflineurl; ?>">

Hab mal bis 24Uhr Online eingestellt. Aber da kommt immer dieses zerbrochene Bild. “Quasi defekte oder nicht erreichbare Datei” oder sowas.

Stimmen die "IF"Bedinungen ? Habe daran rumgespielt

hi,
sorry mein fehler hab die " " ausversehn weg gelassen … SORRY!!
Dieses Zerbrochene Bild kommt nur weil kein bild geladen wird :wink:
Ich hab dir jetz mal dieses lade bild eingesetzt :wink:
akiworld.co.jp/cole/mooSlideShow/load.gif

[quote]<?php
$Javascriptzeit = date(“Y, n, j, G, i, s”);
$std = date(“H”);
if($std >= ‘08’ && $std < ‘24’) {
$bildurl = “http://www.akiworld.co.jp/cole/mooSlideShow/load.gif”;
?>

<?php } else { [b]$bildurl = "images/livecam-offline-bild.jpg";[/b] } ?>


[/quote]
lg flo

//edit: Hab die geänderten Zeilen mal fett markiert

:hail:

Läuft :nutz:

Klasse… Danke !!

Bitte gerne doch :wink:

Schau dir aber des doch mal an validator.w3.org/check?uri=http% … ivecam.php
Will dich damit nicht kritisieren nur verbessern :wink:

lg flo

Kein Problem bin ja auch noch ein blutiger Neuling in Sache php. Danke.

Aber verstehe die ganzen Errors nicht.

z.B. Line 1

Die php Datei fängt so an:

<?php session_start(); ?>

was ist falsch ? o.0

Und wegen dem Livecam-Script, was hat es jetzt mit der Zeitkonstante auf sich ? Holt das Script von der Cam Bilder und ‚wandelt‘ sie irgendwie um (jpeg oder bleibt es cgi ?) und je nach Zeitkonstante wird gesagt wie oft sich das Bild aktualisiert ?

[quote=„matze66“]Kein Problem bin ja auch noch ein blutiger Neuling in Sache php. Danke.

Aber verstehe die ganzen Errors nicht.

z.B. Line 1

Die php Datei fängt so an:

<?php session_start(); ?>

was ist falsch ? o.0 [/quote]
Da vor müsste also vor das <html …

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

was meinst du mit Zeitkonstante ? Die Akutalliserungszeit? die ist im moment auf 10 sec eingestellt (also nach 10 sec holt er sich ein neues bild) oder meinst du was anderes?
Versteh deine Frage grad nicht poste doch einfach die Code zeile dazu dann weiß ich was du meinst :wink:

lg flo

timerid = setInterval(„camon()“, 10000);

Heißt, dass er alle 10sek ein Bild von der Cam holt und über Variablen auf den Server ablegt ?
Oder wie funktioniert das ?

Andere Frage, wie bekomme ich die ganzen Fehler/errors weg ?

Hier mal mein Quellcode

<?php
session_start();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html lang="de" dir="ltr">
<head>
  <title>Ueberschrift &bull; Livecam</title>
  <meta http-equiv="CONTENT-TYPE" content="TEXT/HTML; CHARSET=ISO-8859-1">
  <meta name="description" content="">
  <meta name="keywords" content="">
  <meta name="language" content="de">
  <meta name="robots" content="index, follow">
  <link rel="SHORTCUT ICON" href="images/favicon.ico">
  <link rel="stylesheet" href="style.css" type="text/css">
</head>

<body>
  <table border="0" class="table" align="center" width="950" cellpadding="0" cellspacing="0">
    <tr>
      <td colspan="2" class="header"><div id="headertext"><!--Headertext--></div></td>
    </tr>
         <?php
      include("navibar.php");
      ?>
    <tr>
      <td valign="top" class="navibg">
         <?php
      include("navigation.php");
      ?></td>


      <td class="mainbg" valign="top"><div id="maintext">
        <h2>Livecam:</h2><br>

<?php
$Javascriptzeit = date("Y, n, j, G, i, s");
$std = date("H");
if($std >= '08' && $std < '24') {
$bildurl = "images/loading4.gif";
?>

<script language="JavaScript">
<!--
var Serverzeit = new Date(<?php echo$Javascriptzeit; ?>);
var Stunden = Serverzeit.getHours()

function camon() {
if(Stunden >= '8' && Stunden < '24') {
a = 1 + 88*(Math.random());
a = Math.round(a);
img = new Image();
img.src = 'http://188.134.6.164/snapshot.cgi?log&user=demo&pwd=demo#'+a;
document.getElementById("PIC_ID").src = img.src;
} else {
//Cam Offline
clearInterval(timerid);
}
}
timerid = setInterval("camon()", 10000);
</script>
<?php } else {
$bildurl = "images/livecam-offline-bild.jpg";
} ?>
<img id="PIC_ID" src="<?php echo $bildurl; ?>">
<br><br>

</td>
    </tr>
    <tr>
      <td class="topnavi" colspan="2"> <?php $tage = array("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"); $tag = date("w"); echo $tage[$tag]; ?>, der <?php $timestamp = time(); $datum = date("d.m.Y", $timestamp); echo $datum; ?> - <?php $timestamp = time(); $datum = date("H:i", $timestamp); echo $datum; ?>Uhr</td>
    </tr>
</table>
<!--Anfang: Dieser Code darf in der kostenlosen Version nicht veraendert oder entfernt werden!-->
<div align="center"><a style="color:#7D4926;font-weight:normal;font-size:6pt;background-color:#3F3F3F" href="http://www.homepage-buttons.de" target="_blank">
    Templates</a></div> <!--Ende: Dieser Code darf in der kostenlosen Version nicht veraendert oder entfernt werden!-->

</body>
</html>

z.B. Fehler mit Line38, dort steht das hier im Quellcode von mir:
if($std >= ‚08‘ && $std < ‚24‘) {
und er meint das wäre falsch:
Line 38, Column 7: end tag for „HEAD“ which is not finished

Würde gerne meine ganzen Fehler rausbekommen, aber ist wohl für einen Anfänger mehr als schwer o.0

[quote=“matze66”]timerid = setInterval(“camon()”, 10000);

Heißt, dass er alle 10sek ein Bild von der Cam holt und über Variablen auf den Server ablegt ?
Oder wie funktioniert das ?[/quote]
Das ruft einfach das Javscript (genau genommen die funktion camon() alle 10 sec auf) und somit kommt bekommst du alle 10 sec ein neues bild …

Schau ich mri gleich mal an^^

will es ja nicht übertreiben :ps:

Aber kannst gerne auch einen ftp zugang von mir haben, wenn du es dir mal anschauen willst.

Will ja die Fehler rausbekommen, bevor ich immer weiter darauf aufbaue.
Ist aber echt mies und schwer :stress:

Navigation.php (verbessert)

[code]

.style1 { vertical-align: middle; } .style2 { font-size: small; }


    </ul>
    </td>[/code]

Sind schon mal weniger Errors. 15->10 und warning auch paar weniger. :slight_smile:

Brauchste en FTP Zugang ? :wink:

[quote=“matze66”]Sind schon mal weniger Errors. 15->10 und warning auch paar weniger. :slight_smile:

Brauchste en FTP Zugang ? :wink:[/quote]
Ne eigentlich nicht ^^ können das ja ggf via skype klären dann musst du nicht extra nen FTP account rausgeben :wink:

^^zu der navigation.php (ich hoffe mal du hast den nicht 1:1 übernommen (weil sonst sind deine ggf. if abfragen weg))

lg