php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 23-12-2007, 21:01
salim_aliya
 Registrierter Benutzer
Links : Onlinestatus : salim_aliya ist offline
Registriert seit: Nov 2007
Ort: Berlin
Beiträge: 58
salim_aliya ist zur Zeit noch ein unbeschriebenes Blatt
Standard Formular in Cookie speichern

Hi Leute,

Ich habe einen Formular geschrieben, bei dem alle Daten, die in die Zeilen geschrieben wurden, in ein Cookie gespeichert werden sollen. Doch leider habe ich Probleme beim speichern des Cookie. Ich habe viele Lösungsansätze hergenommen, aber nicht wirklich hat es geklappt. Zuerst war es ein parser Fehler, jetzt ist es ne Warnung. Ich komm nicht mehr weiter und hoffe von auch auf einen Denkanstoß. Dies sind die Codes, die ich verwende:

PHP-Code:
<form method="post" action="02.php"><font face="verdana" size="2"><table>
<
tr><td>Player Name:</td><td><input type="text" name="1"><br></td></tr>
<
tr><td>Username:</td><td><input type="text" name="2"><br></td></tr>
<
tr><td>Password:</td><td><input type="text" name="3"><br></td></tr>
<
tr><td>EDC Code:</td><td><input type="text" name="4"><br></td></tr>
<
tr><td colspan="2" align="right"><input type="submit" name="Button" value="Login">
</
td></tr></table></font>
</
form
Und hier 02.php:
PHP-Code:
<?php
echo "Sie haben folgende Angaben gemacht:<br>";
echo 
"Player Name: $_POST[1]";
echo 
"<br>";
echo 
"Username: $_POST[2]";
echo 
"<br>";
echo 
"Password: $_POST[3]";
echo 
"<br>";
echo 
"EDC Code: $_POST[4]";

$value = array('$_POST[1]+$_POST[2]+$_POST[3]+$_POST[4]');

setcookie("Name"$valuetime()+60*60*24*30*12"/"".example.com");

$cookie $_COOKIE["Name"];
echo 
"Der Inhalt des Cookies: $cookie";

?>
Als warnung wird das ausgegeben: Warning: setcookie() expects parameter 2 to be string, array given in [...]02.php on line 13

Die ganzen Daten sollem im Cookie getrennt mit einem Plus (+) gespeichert werden. z.B. soll der Inhalt des Cookies so aussehen:

Player Name+Username+Password+EDC Code

Sicher gibt es hier irgendwo einen Fehler, doch leider kann ich ihn nicht finden
__________________
MFG
salim_aliya
Lesen, lernen, ausüben und Ziele erreichen...

Geändert von salim_aliya (23-12-2007 um 21:14 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 23-12-2007, 21:39
Nordin
 Registrierter Benutzer
Links : Onlinestatus : Nordin ist offline
Registriert seit: Aug 2005
Ort: DE / S-A
Beiträge: 415
Nordin befindet sich auf einem aufstrebenden Ast
Standard

Versuch mal das:
PHP-Code:
$value = array($_POST['1']."+".$_POST['2']."+".$_POST['3']."+".$_POST['4']); 
Aber warum nimmst du Cookies? Es gibt user die schalten ihre Cookies aus... ich würde es in einer Session speichern.. ist auch sicherer.
Mit Zitat antworten
  #3 (permalink)  
Alt 23-12-2007, 21:48
Slava
 PHP Senior
Links : Onlinestatus : Slava ist offline
Registriert seit: Nov 2002
Ort: Köln->Karlsruhe
Beiträge: 1.589
Slava befindet sich auf einem aufstrebenden Ast
Standard

also Fehlermeldung sagt, dass setcookie kein array, sondern ein string haben möchte, also verstehe ich nicht ganz warum du Fehler nicht finden kannst.
$value = array(....

versuch besser mit implode dein $value als String zu definieren und mach dir keine Hoffnung, dass du direkt nach dem setcookie in $_COOKIE schon ein Wert findest, da es erst bei nechtem Request da ist.
ausserdem würde ich mit Mischmasch von setcookie und $_COOKIE in einem Script aufhören.
__________________
Slava
bituniverse.com
Mit Zitat antworten
  #4 (permalink)  
Alt 23-12-2007, 21:49
Slava
 PHP Senior
Links : Onlinestatus : Slava ist offline
Registriert seit: Nov 2002
Ort: Köln->Karlsruhe
Beiträge: 1.589
Slava befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von Nordin
Versuch mal das:
PHP-Code:
$value = array($_POST['1']."+".$_POST['2']."+".$_POST['3']."+".$_POST['4']); 
und jetzt haben wir wieder ein Array
__________________
Slava
bituniverse.com
Mit Zitat antworten
  #5 (permalink)  
Alt 23-12-2007, 22:04
Nordin
 Registrierter Benutzer
Links : Onlinestatus : Nordin ist offline
Registriert seit: Aug 2005
Ort: DE / S-A
Beiträge: 415
Nordin befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
und jetzt haben wir wieder ein Array
oh hehe mir ist nur aufgefallen das es nicht so toll aussah *g*

für die ordnung halber schreib ich also nochmal...

also aus das:
PHP-Code:
$value = array($_POST['1']."+".$_POST['2']."+".$_POST['3']."+".$_POST['4']); 
mach das:
PHP-Code:
$value $_POST['1']."+".$_POST['2']."+".$_POST['3']."+".$_POST['4']; 
Mit Zitat antworten
  #6 (permalink)  
Alt 23-12-2007, 23:18
salim_aliya
 Registrierter Benutzer
Links : Onlinestatus : salim_aliya ist offline
Registriert seit: Nov 2007
Ort: Berlin
Beiträge: 58
salim_aliya ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke, ihr wart allo so nett^^ Ich werde euere Lösungen gleich ausprobieren...

Das ich das mit dem Array und String nicht erkennen konnte liegt daran, weil ich noch absoluter Anfänger bin. Kann gerade mal n paar Befehle und die Grundlagen^^
__________________
MFG
salim_aliya
Lesen, lernen, ausüben und Ziele erreichen...
Mit Zitat antworten
  #7 (permalink)  
Alt 23-12-2007, 23:24
salim_aliya
 Registrierter Benutzer
Links : Onlinestatus : salim_aliya ist offline
Registriert seit: Nov 2007
Ort: Berlin
Beiträge: 58
salim_aliya ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Nordin
Aber warum nimmst du Cookies? Es gibt user die schalten ihre Cookies aus... ich würde es in einer Session speichern.. ist auch sicherer.
Cookies nehme ich deswegen her, weil ich ein System aufbauen möchte. Ich bastle grad an einer Clan Homepage für meine Leute und die Sollen auf bestimmte Sachen zugreifen können, wie z.B. selbst herausgefunde Cheat Methoden, selbst Programmierte Patches etc. was "nicht Mitglieder" nicht einsehen dürfen. Der Cookie soll eine Art passwort dienen, dass beim aufrufen der Seite auf die Existenz und Inhalt geprüft wird und entsprechend den zugriff genehmigt oder verweigert. Aber deine Lösung ist auch interessant. Kannst du mir sagen wie das geht und auch paar Beispiele zeigen?
__________________
MFG
salim_aliya
Lesen, lernen, ausüben und Ziele erreichen...
Mit Zitat antworten
  #8 (permalink)  
Alt 23-12-2007, 23:30
Nordin
 Registrierter Benutzer
Links : Onlinestatus : Nordin ist offline
Registriert seit: Aug 2005
Ort: DE / S-A
Beiträge: 415
Nordin befindet sich auf einem aufstrebenden Ast
Standard

Achso versteh... eine Art "autologin". Dann ist das ok... und wenn es eh nur leute aus einen kleinen bekantenkreis sind dann passt das.

Bei einer session-variante würde ich die ganzen daten in der session speichern so sieht sie keiner... der nachteil ist das der user sich immer wieder einloggen muss wenn er kommt. Aber ich denke so wie du es machst ist es voll ok. Zumal du noch Anfänger bist ist das auch gut das du das mit den cookies mal durchspielst.
Mit Zitat antworten
  #9 (permalink)  
Alt 23-12-2007, 23:46
salim_aliya
 Registrierter Benutzer
Links : Onlinestatus : salim_aliya ist offline
Registriert seit: Nov 2007
Ort: Berlin
Beiträge: 58
salim_aliya ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hi,

Ja genauso wie du es sagst. Nur n paar Leute mehr nicht. vllt so 20.

Ich habe das mit implode etc. gemacht, aber die nächste Warnung ist gekommen

Sie lautet:

Warning: Cannot modify header information - headers already sent by (output started at .../02.php:2) in .../02.php on line 15

Der Script sieht jetzt so aus:

PHP-Code:
<html><body><font face="verdana" size="2">
<?php
echo "Sie haben folgende Angaben gemacht:<br>";
echo 
"Player Name: $_POST[1]";
echo 
"<br>";
echo 
"Username: $_POST[2]";
echo 
"<br>";
echo 
"Password: $_POST[3]";
echo 
"<br>";
echo 
"EDC Code: $_POST[4]";

$value = array($_POST['1'], $_POST['2'], $_POST['3'], $_POST['4']);
$cookiewert implode("+"$value);

setcookie("Name"$cookiewerttime()+60*60*24*30*12"/"".example.com");

$cookie $_COOKIE["Name"];
echo 
"Der Inhalt des Cookies: $cookie";

?>
</font></body></html>
Der Script Funktioniert jetzt wunderbar, das Cookie wird gesetzt. Aber diese Warnung ist hässlich. Hat einer ne Idee, wie ich sie wegkriegen könnte?

Danke für die ganze Hilfe bisjetzt...
__________________
MFG
salim_aliya
Lesen, lernen, ausüben und Ziele erreichen...

Geändert von salim_aliya (23-12-2007 um 23:49 Uhr)
Mit Zitat antworten
  #10 (permalink)  
Alt 23-12-2007, 23:56
lennart
 PHP Junior
Links : Onlinestatus : lennart ist offline
Registriert seit: May 2007
Ort: Hamburg
Beiträge: 565
lennart ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von salim_aliya
Der Script Funktioniert jetzt wunderbar, das Cookie wird gesetzt. Aber diese Warnung ist hässlich. Hat einer ne Idee, wie ich sie wegkriegen könnte?
Der Cookie muss ganz am Anfang vom Script bzw bevor irgendetwas anderes gesendet wird gesetzt werden.

Oder du benutzt: http://de.php.net/manual/de/function.ob-start.php und http://de.php.net/manual/de/function.ob-flush.php
Mit Zitat antworten
  #11 (permalink)  
Alt 24-12-2007, 00:31
salim_aliya
 Registrierter Benutzer
Links : Onlinestatus : salim_aliya ist offline
Registriert seit: Nov 2007
Ort: Berlin
Beiträge: 58
salim_aliya ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von lennart
Der Cookie muss ganz am Anfang vom Script bzw bevor irgendetwas anderes gesendet wird gesetzt werden.
Diesen Tipp habe ich nicht verstanden...

Danke für diesen Tipp. Ich habe es in mein Script eingebaut, aber wie immer habe ich wieder was falsch gemacht Die Doku habe ich zig mal durchgelesen und auch das Beispiel mit den Äpfel und Birnen angesehen. Aber jetzt gibt mir Das Script gar nix mehr aus, die Seite ist komplett leer

Also, so sieht mein aktuelles Script aus:

PHP-Code:
<html><body><font face="verdana" size="2">
<?php

function callback() 
{
  
$value = array($_POST['1'], $_POST['2'], $_POST['3'], $_POST['4']);
  
$cookiewert implode("+"$value);

  
setcookie("Name"$cookiewerttime()+60*60*24*30*12"/"".example.com");

  
$cookie $_COOKIE["Name"];
  echo 
"Der Inhalt des Cookies: $cookie";
  echo 
"<br>";
  echo 
"Sie haben folgende Angaben gemacht:<br>";
  echo 
"Player Name: $_POST[1]";
  echo 
"<br>";
  echo 
"Username: $_POST[2]";
  echo 
"<br>";
  echo 
"Password: $_POST[3]";
  echo 
"<br>";
  echo 
"EDC Code: $_POST[4]";
}
ob_start("callback");
ob_end_flush();
?>
</font></body></html>
Ich hoffe, ihr könnt mir helfen...
__________________
MFG
salim_aliya
Lesen, lernen, ausüben und Ziele erreichen...
Mit Zitat antworten
  #12 (permalink)  
Alt 24-12-2007, 00:46
lennart
 PHP Junior
Links : Onlinestatus : lennart ist offline
Registriert seit: May 2007
Ort: Hamburg
Beiträge: 565
lennart ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von salim_aliya
Diesen Tipp habe ich nicht verstanden...
Das heißt einfach dass du den Session setzen musst, bevor du irgendein HTML o.ä. sendest. Also in deinem Fall warscheinlich einfach vor dem ersten echo.

Zitat:
Original geschrieben von salim_aliya

Danke für diesen Tipp. Ich habe es in mein Script eingebaut, aber wie immer habe ich wieder was falsch gemacht Die Doku habe ich zig mal durchgelesen und auch das Beispiel mit den Äpfel und Birnen angesehen. Aber jetzt gibt mir Das Script gar nix mehr aus, die Seite ist komplett leer

PHP-Code:
ob_start("callback");
ob_end_flush(); 
Nunja... Du machst einen Cache auf. Füllst nichts hinein und sendest dann den leeren Cache gleich raus Tipp: Hat auch hier wieder was mit der Positionierung zu tun.
Mit Zitat antworten
  #13 (permalink)  
Alt 24-12-2007, 01:11
salim_aliya
 Registrierter Benutzer
Links : Onlinestatus : salim_aliya ist offline
Registriert seit: Nov 2007
Ort: Berlin
Beiträge: 58
salim_aliya ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Wieder nix passiert. Ich glaube, ich bin zu dumm dafür
Es kam wieder nix raus, keine Ausgabe, keine Fehler oder Warnungen...

So siehts jetzt aus:

PHP-Code:
<html><body><font face="verdana" size="2">
<?php

ob_start
("callback");

function 
callback() 
{
  
$value = array($_POST['1'], $_POST['2'], $_POST['3'], $_POST['4']);
  
$cookiewert implode("+"$value);

  
setcookie("Name"$cookiewerttime()+60*60*24*30*12"/"".example.com");

  
$cookie $_COOKIE["Name"];
  echo 
"Der Inhalt des Cookies: $cookie";
  echo 
"<br>";
  echo 
"Sie haben folgende Angaben gemacht:<br>";
  echo 
"Player Name: $_POST[1]";
  echo 
"<br>";
  echo 
"Username: $_POST[2]";
  echo 
"<br>";
  echo 
"Password: $_POST[3]";
  echo 
"<br>";
  echo 
"EDC Code: $_POST[4]";
}

ob_end_flush();
?>
</font></body></html>
Muss ich bei diesem ob_end_flush() auch Parameter einfügen und wenn ja, auch wieder dieses callback?
__________________
MFG
salim_aliya
Lesen, lernen, ausüben und Ziele erreichen...

Geändert von salim_aliya (24-12-2007 um 01:14 Uhr)
Mit Zitat antworten
  #14 (permalink)  
Alt 24-12-2007, 01:37
lennart
 PHP Junior
Links : Onlinestatus : lennart ist offline
Registriert seit: May 2007
Ort: Hamburg
Beiträge: 565
lennart ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von salim_aliya
Muss ich bei diesem ob_end_flush() auch Parameter einfügen und wenn ja, auch wieder dieses callback?
Hättest du die Doku richtig gelesen, hättest du gesehen, dass dein "callback" dort keinen Sinn macht. Lass das einfach mal weg.
Mit Zitat antworten
  #15 (permalink)  
Alt 24-12-2007, 02:10
Slava
 PHP Senior
Links : Onlinestatus : Slava ist offline
Registriert seit: Nov 2002
Ort: Köln->Karlsruhe
Beiträge: 1.589
Slava befindet sich auf einem aufstrebenden Ast
Standard

@salim_aliya
setcookie("Name", $cookiewert, time()+60*60*24*30*12, "/", ".example.com");
$cookie = $_COOKIE["Name"];

Auch wenn du bei Scriptanfang das schreibst, wirst du bei dem Erstem scriptaufruf eine Fehlermeldung bekommen.
$_COOKIE['Name'] existiert bei dem erstem Aufruf nach dem setcookie nicht. Auch bei zwietem Aufruf wenn du ein anderes Wert mit setcookie setzt, wirst du zwar keine Fehlermeldung erhalten, aber der neugesetzter Wert wird nicht mit dem Wert in $_COOKIE gleich sein.
Ich werde einfach abraten setcookie() und $_COOKIE in einem Script zu verwenden, da es bei erstem Aufruf automatisch zu den Problemen führt.
__________________
Slava
bituniverse.com
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

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 are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 07:08 Uhr.