php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 15.04.2005, 21:18  
Benutzer
 
Registriert seit: 16.12.2004
Beiträge: 93
Gokuson
Gokuson eine Nachricht über MSN schicken
Standard Vote script/Session cookie

Hi hab dieses script

PHP-Code:
<?php
$path
"http://www.deine-domain.de/ordner";
$ficdest=explode(".",basename($PHP_SELF));
$ficdest=$ficdest[0].".dat";

if(
file_exists($ficdest)) {
     
$compteur=fopen($ficdest"r");
     
$old_stats=file($ficdest);
     
$stats=explode("|"$old_stats[0]);
     
fclose($compteur);
     
$new_count=$stats[0];
     if (
$stats[3] != $REMOTE_ADDR) {
         
$new_count +=1;
     }
     
$ip_hit=$REMOTE_ADDR;
     
$compteur=fopen($ficdest"w");
     
fputs($compteur"$new_count|$stats[1]|$stats[2]|$ip_hit|$stats[4]");
     
fclose($compteur);
}
else {
     
$nouveau_compteur=fopen($ficdest"w");
     
fputs($nouveau_compteur"1|||$REMOTE_ADDR|");
     
fclose($nouveau_compteur);
}

if (!empty(
$envoi)) {
     
$vote=fopen($ficdest"r");
     
$old_stats=file($ficdest);
     
$stats=explode("|"$old_stats[0]);
     
fclose($vote);
     
$nbr_votes=$stats[1];
     
$moy_votes=$stats[2];
     if (
$stats[4] != $REMOTE_ADDR) {
         
$nbr_votes +=1;
         
$moy_votes=((($stats[1]*$stats[2])+$note)/$nbr_votes);
     }
else { echo 
"<font face=Verdana size=2 color=red>Sie haben schon abgestimmt</font>"; }
     
$ip_vote=$REMOTE_ADDR;
     
$vote=fopen($ficdest"w");
     
$new_stats=fputs($vote"$new_count|$nbr_votes|$moy_votes|$stats[3]|$ip_vote");
     
fclose($vote);
}

print (
"<form method=post action=\"$PHP_SELF\">");
$old_stats=file($ficdest);
$stats=explode("|"$old_stats[0]);
if (
$stats[2]>=5)
{
    
$star "http://www.disobedient.de/Rockbandinfos/php_rating_system/images/5star.gif" ;
}
if (
$stats[2]<=4.5)
{
    
$star "http://www.disobedient.de/Rockbandinfos/php_rating_system/images/45star.gif" ;
}
if (
$stats[2]<=4)
{
    
$star "http://www.disobedient.de/Rockbandinfos/php_rating_system/images/4star.gif" ;
}
if (
$stats[2]<=3.5)
{
    
$star "http://www.disobedient.de/Rockbandinfos/php_rating_system/images/35star.gif" ;
}
if (
$stats[2]<=3)
{
    
$star "http://www.disobedient.de/Rockbandinfos/php_rating_system/images/3star.gif" ;
}
if (
$stats[2]<=2.5)
{
    
$star "http://www.disobedient.de/Rockbandinfos/php_rating_system/images/25star.gif" ;
}
if (
$stats[2]<=2)
{
    
$star "http://www.disobedient.de/Rockbandinfos/php_rating_system/images/2star.gif" ;
}
if (
$stats[2]<=1.5)
{
    
$star "http://www.disobedient.de/Rockbandinfos/php_rating_system/images/15star.gif" ;
}
if (
$stats[2]<=1)
{
    
$star "http://www.disobedient.de/Rockbandinfos/php_rating_system/images/1star.gif" ;
}
if (
$stats[2]<=0.5)
{
    
$star "http://www.disobedient.de/Rockbandinfos/php_rating_system/images/05star.gif" ;
}
if (
$stats[2]<=0)
{
    
$star "http://www.disobedient.de/Rockbandinfos/php_rating_system/images/00star.gif" ;
}
print (
"<font size=1 face=Verdana color=#999999>Bewertung: <img src=\"$star\" alt=\"Durchschnittliche Bewertung: $stats[2]\"> $stats[1] Bewertung(en)</font>");
print (
"<select name=note>");
for (
$i=1$i<=5$i++) {
print (
"<option value=$i>$i");
}
print (
"</select> <input type=hidden name=envoi value=1><input type=submit value=Rate>");
print (
"</form></font>");

?>
?>
Und das kann ich nur einmal benutzen weil da keine id angabe ist usw.
Wie kann ich das jetzt machen das es mehrmals benutzbar ist??

Vielen Dank für eure hilfe
Guillaume[/code]
Gokuson ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 15.04.2005, 21:29  
Erfahrener Benutzer
 
Registriert seit: 21.01.2005
Beiträge: 444
stf.stream
stf.stream eine Nachricht über ICQ schicken
Standard

PHP-Code:
<?php
if (!empty($envoi)
?>
Du musst wahrscheinlich dafür sorgen, dass $envoi nicht empty ist...
__________________
stf.
stf.stream ist offline  
Alt 15.04.2005, 21:51  
Benutzer
 
Registriert seit: 16.12.2004
Beiträge: 93
Gokuson
Gokuson eine Nachricht über MSN schicken
Standard

und was muss ich stattdessen machen?
Gokuson ist offline  
Alt 15.04.2005, 22:01  
Erfahrener Benutzer
 
Registriert seit: 21.01.2005
Beiträge: 444
stf.stream
stf.stream eine Nachricht über ICQ schicken
Standard

Also ich kann nur schätzen, da $envoi nicht in diesem script belegt wird, sondern irgendwo anders (vlt mal rauskriegen wo??).

Erste Möglichkeit ist, herauszufinden wo, womit und unter welchen Voraussetzungen $envoi belegt wird, und dann von vorn herein die Entscheidung ob bereits gevotet wurde beeinflussen.

Zweite möglichkeit ist die:
PHP-Code:
<?php
if (!empty($envoi)) {
     
$vote=fopen($ficdest"r");
     
$old_stats=file($ficdest);
     
$stats=explode("|"$old_stats[0]);
     
fclose($vote);
     
$nbr_votes=$stats[1];
     
$moy_votes=$stats[2];
     if (
$stats[4] != $REMOTE_ADDR) {
         
$nbr_votes +=1;
         
$moy_votes=((($stats[1]*$stats[2])+$note)/$nbr_votes);
     }
else { echo 
"<font face=Verdana size=2 color=red>Sie haben schon abgestimmt</font>"; }
     
$ip_vote=$REMOTE_ADDR;
     
$vote=fopen($ficdest"w");
     
$new_stats=fputs($vote"$new_count|$nbr_votes|$moy_votes|$stats[3]|$ip_vote");
     
fclose($vote);
}
?>
Hier sollte nun $envoi nicht ausgewertet werden sondern direkt der IF-Zweig bearbeitet werden. Z.B. so:

PHP-Code:
<?php
if (TRUE)) {
     
$vote=fopen($ficdest"r");
     
$old_stats=file($ficdest);
     
$stats=explode("|"$old_stats[0]);
     
fclose($vote);
     
$nbr_votes=$stats[1];
     
$moy_votes=$stats[2];
     if (
$stats[4] != $REMOTE_ADDR) {
         
$nbr_votes +=1;
         
$moy_votes=((($stats[1]*$stats[2])+$note)/$nbr_votes);
     }
else { echo 
"<font face=Verdana size=2 color=red>Sie haben schon abgestimmt</font>"; }
     
$ip_vote=$REMOTE_ADDR;
     
$vote=fopen($ficdest"w");
     
$new_stats=fputs($vote"$new_count|$nbr_votes|$moy_votes|$stats[3]|$ip_vote");
     
fclose($vote);
}
?>
Inwiefern andere Variablen von diesem Vorgehen negativ beeinflusst werden ist mit dem Codeschnipsel von oben nicht überschaubar, musste halt probieren...
__________________
stf.
stf.stream ist offline  
Alt 16.04.2005, 11:31  
Benutzer
 
Registriert seit: 16.12.2004
Beiträge: 93
Gokuson
Gokuson eine Nachricht über MSN schicken
Standard

hat also nicht mit session cookie zu tun?
Gokuson 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
Cookie zusätzlich für eine andere Domain setzen DonTermi PHP Tipps 2007 5 21.05.2007 13:52
Cookie löschen funktioniert nicht GSJLink PHP Tipps 2007 2 24.01.2007 14:55
[Erledigt] Autologin mit Cookie, wie? Beste Lösung? PHP-Fortgeschrittene 17 16.02.2006 14:03
Cookie setzten funktioniert nicht!? nicobischof PHP Tipps 2006 13 06.01.2006 13:38
Cookie php_frage PHP Tipps 2007 3 23.12.2005 11:52
Cookie DER_Brain PHP Tipps 2005-2 4 27.06.2005 17:49
Cookie löschen tomtaz PHP Tipps 2005-2 3 06.06.2005 20:50
cookie löschen nach datenbankeintrag PHP Tipps 2005 1 22.04.2005 18:59
[Erledigt] cookie funkioniert nur von einer bestimmten Seite PHP Tipps 2005 2 19.04.2005 07:41
Browser abfragen, ob ein Cookie gesetzt werden kann PHP Tipps 2005 9 11.04.2005 18:24
cookie problem PHP Tipps 2005 5 08.03.2005 21:22
Problem mit Cookie Anuschka PHP Tipps 2004-2 6 26.12.2004 03:12
Cookie / localhost / Problem gelöst PHP-Fortgeschrittene 11 02.11.2004 22:41
eval und Cookie PHP Tipps 2004 4 27.10.2004 23:00
[Erledigt] cookie bei erster aktualisierung auslesen... PHP Tipps 2004 3 09.06.2004 09:58

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
suche script zum voting beeinflussen, scriptsession

Alle Zeitangaben in WEZ +2. Es ist jetzt 11:54 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.