Forum zum WebKicks.De Chatsystem Foren-Übersicht Forum zum WebKicks.De Chatsystem
Support-Forum zum WebKicks-Chatsystem
 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Dieses Forum dient als Archiv, es können keine neuen Beiträge eröffnet werden.

Hier geht es zum neuen Webkicks Forum
.

Übergabe der IP-Adresse mit einer PHP-Datei
Gehe zu Seite Zurück  1, 2, 3  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    Forum zum WebKicks.De Chatsystem Foren-Übersicht -> Sonstiges
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Thedering




Anmeldedatum: 29.01.2008
Beiträge: 335

BeitragVerfasst am: 25.03.2009, 20:51    Titel: Antworten mit Zitat

Das hat mit Datenbanken ja garnichts zu tuen.

Das Prinzip ist relativ simpel:
DJ öffnet die wunsch.html -> Liest die Wünsche und erfüllt diese soweit es geht -> löscht danach die Wünsche aus der wunsch.html -> dabei wird bei dem DJ ein Cookie gesetzt der dafür sorgt das der Wunsch ausgeblendet wird.

Der Fehler ist das der Cookie beim betreten der Seite schon gesetzt wird, anstatt das er erst beim klicken auf Wunsch löschen gesetzt wird.

Das sollte aber möglich sein das zu ändern. Nur leider habe ich garkeine Ahnung von Javascript & von PHP nur die simpelsten Grundlagen Sehr glücklich

Ein großer Nachteil ist natürlich das nur bei dem DJ der die wunsch.html gerade sieht der Cookie gesetzt wird. Das bedeutet das der nachfolgende DJ die Beiträge wieder sieht.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
hamigra




Anmeldedatum: 31.08.2006
Beiträge: 1601
Wohnort: Werdau

BeitragVerfasst am: 26.03.2009, 10:10    Titel: Antworten mit Zitat

Na gut, dann wart ich mal bis sich eine/einer erbarmt. Winken
Du hast mir auf älle Fälle schon mal sehr weitergeholfen - DANKE.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
1. FC Keller
Moderator



Anmeldedatum: 04.07.2004
Beiträge: 4176
Wohnort: heimat:// Thüringen.Deutschland.eu/ Zeulenroda

BeitragVerfasst am: 26.03.2009, 10:53    Titel: Antworten mit Zitat

Ebenfalls ungetestet... ich habe nur das korrigiert was Thedering festgestellt hat und nicht auf weitere Fehler/Probleme geprüft.

@Thedering: Das Setzen des Cookies muss beim onclick-Event geschehen und nicht unten im Scripttag.... und schon dürfte das Problem gegessen sein Winken

Code:
<?php
session_set_cookie_params(1);
session_start();
$nick = $_POST['nick'];
$grus = $_POST['grus'];
$inter = $_POST['inter'];
$titel = $_POST['titel'];
$nummer = $_POST['nummer'];
$datum = date("d.m.Y H:i:s");
$ip = getenv("REMOTE_ADDR");
// Counterscript von http://php-einfach.de
// Dient dazu den einzelnen Wünschen Nummern zuzuordnen^^
$datei = fopen("c.txt","r+");
$counterstand = fgets($datei, 10);

if($counterstand == "")
   {
   $counterstand = 0;
   }
if(!isset($_SESSION['counter_ip']))
   {
   $counterstand++;
   rewind($datei);
   fwrite($datei, $counterstand);
   $_SESSION['counter_ip'] = true;
   }
if (!isset($nick, $grus, $inter, $titel, $nummer)){
echo "
<html>
<body bgcolor='#FDF5E6'>
<title>Musikwunsch</title>
<table width='400' border='1' align='center'>
<tr>
</tr>
<tr>
<td><marquee direction='left' scrollAmount='4' height='10' width='300'></marquee>
<br><br>
<form method='post'>
<table width='100%' border='1'>
<tr>
<td width='10%'><b>Dein Nickname:</b></td>
<td width='25%'><b>Interpret:</b></td>
<td width='25%'><b>Titel:</b></td>
<td width='30%'><b>Grüße:</b></td>
<td width='40%'><b>IP-Adresse:</b></td>
</tr>
<tr>
<td width='10%'><input type=text name='nick'></td>
<td width='25%'><input type='Text'name='inter'></td>
<td width='25%'><input type='Text'name='titel'></td>
<td width='30%'><input type=text name='grus'></td>
<td width='10%'><input type=\"text\" name=\"ip\" value=\"$ip\" disabled=\"true\" size=\"25\" /></td>
</tr>
</table>
<table width='200' border='0'>
<br><br><input type=submit name='submit'>
<input type=\"hidden\" value=\"$counterstand\" name=\"nummer\" />
</form></td>
</tr>
</table>
</body>
</html>";
}
else {
$text = "
<div id=\"$nummer\"><hr><table style=\"border: 1px;\" cellpadding=\"1\" cellspacing=\"1\">
    <tr>
        <td><b>$nummer</b> - <b>$nick</b> <small>($ip)</small> w&uuml;nschte sich von <b>$inter</b> das Lied <b>$titel</b></td>
    </tr>
    <tr>
        <td><b>Gr&uuml;&szlig;e:</b> $grus</td>
    </tr>
    <tr>
        <td>-> <span onclick=\"document.getElementById('$nummer').style.display='none';document.cookie='$nummer=true';\" style=\"cursor:pointer; color: #ff0000; font-weight: bold\">Diesen Wunsch l&ouml;schen!</span></td>
    </tr>
</table>
<hr>
</div>
<script language=\"javascript\">if(document.cookie.match(\"$nummer=true\")){document.getElementById('$nummer').style.display='none';} </script>";
$open = fopen('wunsch.html', 'a');
fwrite($open, $text);
fclose($open);
echo "
<html>
<body bgcolor='#FDF5E6'>
<br><br><br>
<title>Planmeldung</title>
<table width='400' border='1' align='center'>
<tr>
<td><b>Danke - Dein Wunsch wurde gesendet und nach Möglickeit wird er erfüllt!</b></td>
</tr>
</table>
</body>
</html>";
}
fclose($datei);
?>
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
hamigra




Anmeldedatum: 31.08.2006
Beiträge: 1601
Wohnort: Werdau

BeitragVerfasst am: 26.03.2009, 16:39    Titel: Antworten mit Zitat

Danke für Code.
Hier das Ergebnis der Tests:

3 Wünsche im Abstand von 1 Minute abgeschickt und so sind sie angekommen:


Den mittleren Wunsch gelöscht und er blieb auch nach der Aktualisierung gelöscht:


Den ersten Wunsch gelöscht und er blieb gelöscht:


Auch nach 15 Minuten blieben die Wünsche gelöscht.
Dann wechselte ich die Webseite und kehrte nach 5 Minuten auf die wunsch.html zurück - die Wünsche waren weiterhin gelöscht.
Dann schloß ich den Browser - öffnete ihn wieder und ging auf die wunsch.html - Es waren alle 3 Wünsche wieder da.

Zum Testen: Wunsch eintragen und Wünsche ansehen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
@schmuse




Anmeldedatum: 23.01.2009
Beiträge: 74

BeitragVerfasst am: 30.03.2009, 09:22    Titel: Antworten mit Zitat

hi zusammen,

ich hab das skript auch per php mal hochgeladen und bei mir zeigt es folgendes an:



Code:
Dein Nickname:    Interpret:    Titel:    Grüße:    IP-Adresse:
            

Daten absenden  \"$counterstand\"
"; } else { $text = "
$nummer - $nick ($ip) wünschte sich von $inter das Lied $titel
Grüße: $grus
-> Diesen Wunsch löschen!
"; $open = fopen('wunsch.html', 'a'); fwrite($open, $text); fclose($open); echo "


Danke - Dein Wunsch wurde gesendet und nach Möglickeit wird er erfüllt!
"; } fclose($datei); ?>


natürlich auch in dem rahmen drumrum den hamigra hier schon gepostet hat. was mach ich verkehrt! als phpdatei (alle dateien) und auf webspace geladen!

mfg @schmuse
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Thedering




Anmeldedatum: 29.01.2008
Beiträge: 335

BeitragVerfasst am: 30.03.2009, 18:08    Titel: Antworten mit Zitat

Lad mal eine Textdatei die c heißt hoch. Also c.txt und schreib dort eine 0 hinein.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
@schmuse




Anmeldedatum: 23.01.2009
Beiträge: 74

BeitragVerfasst am: 31.03.2009, 13:50    Titel: Antworten mit Zitat

hi die hab ich auch und auch hochgeladen,trotzdem das selbe Mit den Augen rollen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Linus




Anmeldedatum: 14.02.2005
Beiträge: 672
Wohnort: NRW

BeitragVerfasst am: 31.03.2009, 16:25    Titel: Antworten mit Zitat

Nicht jeder Hoster unterstützt die file-funktionen wie fopen oder fwrite.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen Yahoo Messenger MSN Messenger
FlemmJam


Verwarnung

Anmeldedatum: 26.05.2008
Beiträge: 63
Wohnort: Norden

BeitragVerfasst am: 06.04.2009, 19:55    Titel: Antworten mit Zitat

Also mich wundert das nicht das es nicht wirklich geht weil man bekommt hier ja eigendlich kaum infos über die wunschbox ..
also den würde ich mal sagen Hamgi schreib doch noch mal bitte die wunsch.html hier rein ...
und den kan ich dir vllt noch mehr sagen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
TauchBlubba




Anmeldedatum: 21.10.2007
Beiträge: 1562
Wohnort: Altenstadt (Mittelhessen)

BeitragVerfasst am: 06.04.2009, 20:05    Titel: Antworten mit Zitat

Zitat:
Also mich wundert das nicht das es nicht wirklich geht weil man bekommt hier ja eigendlich kaum infos über die wunschbox .



Geschockt Es ist ja auch keine (Script)-Vorstellung sondern ein Hilfethread.

... grüße
Chrissi
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
hamigra




Anmeldedatum: 31.08.2006
Beiträge: 1601
Wohnort: Werdau

BeitragVerfasst am: 06.04.2009, 21:52    Titel: Antworten mit Zitat

FlemmJam hat Folgendes geschrieben:
... also den würde ich mal sagen Hamgi schreib doch noch mal bitte die wunsch.html hier rein ...
und den kan ich dir vllt noch mehr sagen

Die wunsch.html? Die wird doch erst von der php-Datei erstellt. Winken
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
FlemmJam


Verwarnung

Anmeldedatum: 26.05.2008
Beiträge: 63
Wohnort: Norden

BeitragVerfasst am: 08.04.2009, 02:34    Titel: Antworten mit Zitat

Hallo @ all
also ich habe mal bissel ins script geschaut und den habe ich da wegen dem counter gesehn das ihr es über eine txt datei machen ..


@ hamigra

Mache eine datei auf deinem pc die muss c.txt heisen und den lade die aufm server den bekommst du auch nicht mehr die Fehlermeldung


Zitat:

Warning: fopen(c.txt) [function.fopen]: failed to open stream: No such file or directory in /var/www/vhosts/webradio-help4you.de/subdomains/magicbeatz/httpdocs/test.php on line 13

Warning: fgets(): supplied argument is not a valid stream resource in /var/www/vhosts/webradio-help4you.de/subdomains/magicbeatz/httpdocs/test.php on line 14

Warning: rewind(): supplied argument is not a valid stream resource in /var/www/vhosts/webradio-help4you.de/subdomains/magicbeatz/httpdocs/test.php on line 23

Warning: fwrite(): supplied argument is not a valid stream resource in /var/www/vhosts/webradio-help4you.de/subdomains/magicbeatz/httpdocs/test.php on line 24


Dein Nickname: Interpret: Titel: Gr��e: IP-Adresse:




Warning: fclose(): supplied argument is not a valid stream resource in /var/www/vhosts/webradio-help4you.de/subdomains/magicbeatz/httpdocs/test.php on line 96



Hier mal eine Kleine Vorschau ..
http://magicbeatz.webradio-help4you.de/test.php
und
hier wo die wünsche rein kommen ^^ XD
http://magicbeatz.webradio-help4you.de/wunsch.php
Gruss FlemmJam
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
hamigra




Anmeldedatum: 31.08.2006
Beiträge: 1601
Wohnort: Werdau

BeitragVerfasst am: 08.04.2009, 07:01    Titel: Antworten mit Zitat

Ist ja wohl ein Zeichen, daß du nicht alles gelesen hast. Dein Vorschlag kam schon wesentlich früher und ist auch realisiert. Winken
Und ruf doch deine Wunschdateien selbst mal auf und lösch die Wünsche. Die bleiben gelöscht solange du den Browser nicht schließt. Beendest du ihn und öffnest ihn neu sind alle Wünsche wieder da!!!

Also bitte: erst lesen - dann posten Ausrufezeichen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
hamigra




Anmeldedatum: 31.08.2006
Beiträge: 1601
Wohnort: Werdau

BeitragVerfasst am: 09.04.2009, 10:47    Titel: Antworten mit Zitat

Hat sich wohl erledigt. Das geht nur mit php-Dateien und Datenbank. Die Wunschdaten müssen in einer Datenbank abgelegt werden und über den Löschbutton in der Wunschanzeige.php aus der Datenbank gelöscht werden.
Das war die Auskunft, die ich im php-Forum erhalten habe.
Danke euch trotzdem für eure Hilfe!!!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
1. FC Keller
Moderator



Anmeldedatum: 04.07.2004
Beiträge: 4176
Wohnort: heimat:// Thüringen.Deutschland.eu/ Zeulenroda

BeitragVerfasst am: 09.04.2009, 12:53    Titel: Antworten mit Zitat

naja... ganz so stimmt das nicht.. man kann auch aus einer Text- bzw. HTML-Datei etwas heraus löschen... allerdings ist das in diesem Fall stark an den Aufbau der HTML-Datei gebunden... besser wäre ein Datei-Aufbau ähnlich einer CSV-Datei, da man so nur eine Zeile löschen bräuchte...
Wie es jetzt ist kann man nur einen ganzen HMTL-Abschnitt löschen.

Code:
<?php
session_set_cookie_params(1);
session_start();
$nick = $_POST['nick'];
$grus = $_POST['grus'];
$inter = $_POST['inter'];
$titel = $_POST['titel'];
$nummer = $_POST['nummer'];
$datum = date("d.m.Y H:i:s");
$ip = getenv("REMOTE_ADDR");
// Counterscript von http://php-einfach.de
// Dient dazu den einzelnen Wünschen Nummern zuzuordnen^^
$datei = fopen("c.txt","r+");
$counterstand = fgets($datei, 10);

if($counterstand == "")
   {
   $counterstand = 0;
   }
if(!isset($_SESSION['counter_ip']))
   {
   $counterstand++;
   rewind($datei);
   fwrite($datei, $counterstand);
   $_SESSION['counter_ip'] = true;
   }
fclose($datei);
if (!isset($nick, $grus, $inter, $titel, $nummer)){
echo "
<html>
<body bgcolor='#FDF5E6'>
<title>Musikwunsch</title>
<table width='400' border='1' align='center'>
<tr>
</tr>
<tr>
<td><marquee direction='left' scrollAmount='4' height='10' width='300'></marquee>
<br><br>
<form method='post'>
<table width='100%' border='1'>
<tr>
<td width='10%'><b>Dein Nickname:</b></td>
<td width='25%'><b>Interpret:</b></td>
<td width='25%'><b>Titel:</b></td>
<td width='30%'><b>Grüße:</b></td>
<td width='40%'><b>IP-Adresse:</b></td>
</tr>
<tr>
<td width='10%'><input type=text name='nick'></td>
<td width='25%'><input type='Text'name='inter'></td>
<td width='25%'><input type='Text'name='titel'></td>
<td width='30%'><input type=text name='grus'></td>
<td width='10%'><input type=\"text\" name=\"ip\" value=\"$ip\" disabled=\"true\" size=\"25\" /></td>
</tr>
</table>
<table width='200' border='0'>
<br><br><input type=submit name='submit'>
<input type=\"hidden\" value=\"$counterstand\" name=\"nummer\" />
</form></td>
</tr>
</table>
</body>
</html>";
}
else {
$text = "
<div id=\"$nummer\"><hr><table style=\"border: 1px;\" cellpadding=\"1\" cellspacing=\"1\">
    <tr>
        <td><b>$nummer</b> - <b>$nick</b> <small>($ip)</small> w&uuml;nschte sich von <b>$inter</b> das Lied <b>$titel</b></td>
    </tr>
    <tr>
        <td><b>Gr&uuml;&szlig;e:</b> $grus</td>
    </tr>
    <tr>
        <td>-> <a href=\"loesch.php?del=$nummer\" style=\"color: #ff0000; font-weight: bold\">Diesen Wunsch l&ouml;schen!</span></td>
    </tr>
</table>
<hr>
</div>";
$open = fopen('wunsch.html', 'a');
fwrite($open, $text);
fclose($open);
echo "
<html>
<body bgcolor='#FDF5E6'>
<br><br><br>
<title>Planmeldung</title>
<table width='400' border='1' align='center'>
<tr>
<td><b>Danke - Dein Wunsch wurde gesendet und nach Möglickeit wird er erfüllt!</b></td>
</tr>
</table>
</body>
</html>";
}
?>


Dann muss eine Datei namens loesch.php angelegt werden.
Code:
<?php
if(!$_GET[del]){
  header("location: wunsch.html");
  die();
}
else{
  $buffer = file_get_contents("wunsch.html");

  $buffer = preg_replace("/\s*<div id=\"$_GET[del]\">.+<\/div>/Us", "", $buffer, 1);
  $datei = fopen("wunsch.html","w");
  fwrite($datei, $buffer);
  fclose ($datei);
  header("location: wunsch.html");
}
?>


Es wird hier alles zwischen <div id="X"> und </div> gelöscht. Daher darf, sollte jemand die Form der Einträge ändern wollen, kein </div> in dem Code vorkommen außer das am Ende jedes Eintrags.

Ein paar Sicherheitsaspekte sollte man optimalerweise auch noch ergänzen... denn erstens können die User in ihren Einträgen HTML verwenden und somit die gesamte Wunsch-Seite optisch "zerschießen" sowie per Javascript beispielsweise Cookies auslesen. Weiterhin ist es möglich durch verwenden von </div> in einem der Eintrags-Felder die Lösch-Funktion lahm zu legen und ein Passwort-Schutz für die Lösch-Seite wäre sicherlich auch nicht verkehrt damit nicht jeder einfach Wünsche löschen kann.

Viel spaß damit Winken

Edit2: Code geupdatet. Ein Sicherheitsleck gestopft und damit die Löschfunktion zuverlässiger gemacht.


Zuletzt bearbeitet von 1. FC Keller am 14.04.2009, 11:14, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Forum zum WebKicks.De Chatsystem Foren-Übersicht -> Sonstiges Alle Zeiten sind GMT + 2 Stunden
Gehe zu Seite Zurück  1, 2, 3  Weiter
Seite 2 von 3

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Impressum | Datenschutz | AGB
Deutsche Übersetzung von phpBB.de