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 Bewertung: Bewertung: 1 Stimmen, 5,00 durchschnittlich.
  #16 (permalink)  
Alt 08-04-2009, 13:40
RamonaS
 Registrierter Benutzer
Links : Onlinestatus : RamonaS ist offline
Registriert seit: Mar 2009
Beiträge: 177
RamonaS zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

@Peacie
Hi, dein script hat mir einen tipp gegeben wie ich meines etwas verkleinern kann, funktioniert jetzt soweit wunderhübsch



Habe aber eine andere frage, das problem hatte ich schon öfters - aber jetzt ist es fällig:

Soooo, also ich habe eine index.php mit diesem Inhalt:

PHP-Code:
<?php
if(session_id()==""){session_start();}
$nr=range(1,6); shuffle($nr); # 6 Zufallszahlen erzeugen (es werden davon nur die ersten 3 benutzt: $nr[0]-$nr[2])
$_SESSION['n0']=$nr[0];
$_SESSION['n1']=$nr[1];
$_SESSION['n2']=$nr[2];
$n=$nr[0]+$nr[1]+$nr[2];

if(isset(
$_POST['check_pw']))
 {if(
trim($_POST['pw'])==trim($_POST['n'])) {echo "Richtige Antwort";}
  else {echo 
"Falsche Antwort";}
 }
?>
<br />
<img src="makeWuerfel1.php">
<br />

<form action="<?php echo $_SERVER['PHP_SELF']?>" method="post">
 <fieldset>
  <input type="hidden" name="n" value="<?php echo $n?>" />
  <input type="text" name="pw" />
  <input type="submit" name="check_pw" />
 </fieldset>
</form>
<IMG ruft makeWuerfel1.php auf und dort wird anhand der 3 sessions die nummer gebildet.

Was ich jetzt an der sache nicht mag....für das ganze benötige ich 2 php-scripte...in Zeiten der Weltwirtschaftskrise, geht das ja mal garnischt!

Ich möchte das 2te script, das daß PNG erzeugt in dieser index.php unterbringen, als funktion oder auch nicht, ist eigentlich egal, hauptsache index.php und makeWuerfel.php sind in einem php-script drin.

Nun hab ich das probiert, aber ich erhalte ein headerfehler, weil im
2ten script am ende das hier drin steht:

PHP-Code:
header("Content-type: image/png"); imagePNG($im); imageDestroy($im); 
Wie kann ich das PNG erzeugen und ausgeben und beides im gleichen script?
__________________
ACHTUNG: RamonaS zeigte ein beschämendes Verhalten in der Vergangenheit
Mit Zitat antworten
  #17 (permalink)  
Alt 08-04-2009, 13:46
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.593
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von RamonaS
Wie kann ich das PNG erzeugen und ausgeben und beides im gleichen script?
Geht nicht (vernünftig). Wenn du alles in einem Script willst, dann verwende fertige Bilder, wie hier schon mindestens 3mal empfohlen wurde.
Mit Zitat antworten
  #18 (permalink)  
Alt 08-04-2009, 13:47
Wurzel
 Master
Links : Onlinestatus : Wurzel ist offline
Registriert seit: Jul 2002
Ort: double-u-upper-valley
Beiträge: 7.477
Wurzel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von RamonaS
Wie kann ich das PNG erzeugen und ausgeben und beides im gleichen script?
indem du das script 2x aufrufst (mit unterschiedlichen parametern) und 1x html ausgibst, ein anderes mal das png.

beides in einem rutsch geht nicht.

btw: was soll das werden? 'nen würfel-captcha? wenn ja, ist dein code käse.
__________________
Kissolino.com
Mit Zitat antworten
  #19 (permalink)  
Alt 08-04-2009, 14:54
Benutzerbild von fireweasel fireweasel
 Registrierter Benutzer
Links : Onlinestatus : fireweasel ist offline
Registriert seit: Sep 2008
Ort: At home
Beiträge: 851
fireweasel wird schon bald berühmt werdenfireweasel wird schon bald berühmt werden
fireweasel eine Nachricht über AIM schicken fireweasel eine Nachricht über Yahoo! schicken
Standard

Zitat:
Original geschrieben von RamonaS
(...)
Wie kann ich das PNG erzeugen und ausgeben und beides im gleichen script?
Das klappt im gleichen Script, aber nicht im gleichen Aufruf[1].

Das Problem ist, die Daten vom ersten Aufruf des Scriptes (Formular) zum zweiten Aufruf des Scriptes (Bildanzeige) weiterzureichen. Dafür gibts diverse Hilfsmittel: GET-, POST-Parameter und Sessions.

--
[1] Wenn dein Browser das Webformular anzeigt, ist das PHP-Script schon längst beendet. Es kann also die per Formular zusammengestellten Daten nicht mehr verarbeiten und auch kein daraus generiertes Bild mehr anzeigen.

Man kann zwar etwas herumzaubern und so tun, als ob -- das nennt sich dann AJAX und erfordert JavaScript-Einsatz beim Client. Nix mit "light weight".
Mit Zitat antworten
  #20 (permalink)  
Alt 08-04-2009, 15:16
Peacie
 Registrierter Benutzer
Links : Onlinestatus : Peacie ist offline
Registriert seit: Nov 2003
Beiträge: 341
Peacie ist zur Zeit noch ein unbeschriebenes Blatt
Peacie eine Nachricht über ICQ schicken Peacie eine Nachricht über AIM schicken Peacie eine Nachricht über Yahoo! schicken
Standard

um DRINGEND nochmal auf die Übersicht zu kommen:

Alles was irgendwie geht in ein Script zu stopfen macht wenig bis garkeinen Sinn.

Du müsstest für jedes Formular, bei dem Du das in der Form brauchst, alles wieder neu anpassen. Das ist recht weit weg vom OOP.

Eine Ausgabesteuerung für Formulare und ein Captcha Script, welches du immer von überall aufrufen kannst (Session Sachen zu dem Code gehören dann aber auch in das Captcha Script).

Du brauchst EIN Script für alle Deine Formulare die Captcha benutzen. Und nicht in jedem Formular das Du brauchst immer wieder eine angepasste Methode die Bildchen darzustellen
__________________
Mibau Datendesign - Online Ferienwelt
Mit Zitat antworten
  #21 (permalink)  
Alt 08-04-2009, 21:04
RamonaS
 Registrierter Benutzer
Links : Onlinestatus : RamonaS ist offline
Registriert seit: Mar 2009
Beiträge: 177
RamonaS zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Zitat:
Original geschrieben von Wurzel
indem du das script 2x aufrufst (mit unterschiedlichen parametern) und 1x html ausgibst, ein anderes mal das png.

beides in einem rutsch geht nicht.

btw: was soll das werden? 'nen würfel-captcha? wenn ja, ist dein code käse.
Käse? Huch wiso das?
Funzt doch einwandfifi, die 3 zahlenwerte werden unsichtbar per session übergeben!

Oder meinst du die idee an sich? Ich hab ma ne webseite gesehen, dort wurde ein programm vorgestellt das die standard captchas zw 80-100% auslesen kann, wobei der user da bei 50% lag....und wie ich - mache captchas garnicht lesen kann, weill ich nicht erkennen kann was das für zeichen sein soll
__________________
ACHTUNG: RamonaS zeigte ein beschämendes Verhalten in der Vergangenheit
Mit Zitat antworten
  #22 (permalink)  
Alt 08-04-2009, 21:48
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Zitat:
Original geschrieben von fireweasel
Das klappt im gleichen Script, aber nicht im gleichen Aufruf.
Naja, mit Inline-Images geht es schon, wenn auch nicht in jedem Browser.

Zitat:
Original geschrieben von Peacie
wo ist jetzt bitte der unterschied zu den eigenen bildern auf dem server, die der te ja nicht will?
Sollte er aber wollen. Das dynamische Erzeugen von Bildern ist in diesem Fall eine blöde Idee. Das hat man dem TE schon mehrmals gesagt, aber leider ist er auf diesem Ohr taub. Ein Gegenargument hat er jedenfalls nicht genannt - "ich will weniger Bilder auf der Platte haben" ist ja wohl ein Witz!
Mit Zitat antworten
  #23 (permalink)  
Alt 08-04-2009, 22:15
RamonaS
 Registrierter Benutzer
Links : Onlinestatus : RamonaS ist offline
Registriert seit: Mar 2009
Beiträge: 177
RamonaS zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Zitat:
Original geschrieben von onemorenerd
Naja, mit Inline-Images geht es schon, wenn auch nicht in jedem Browser.

Sollte er aber wollen. Das dynamische Erzeugen von Bildern ist in diesem Fall eine blöde Idee. Das hat man dem TE schon mehrmals gesagt, aber leider ist er auf diesem Ohr taub. Ein Gegenargument hat er jedenfalls nicht genannt - "ich will weniger Bilder auf der Platte haben" ist ja wohl ein Witz!
Jetzt kom ich nicht ganz mit...das mußt du mir nochmals verdeutlichen.

Meinst du weil dir oder dem einen oder anderen erzeugte bilder nicht gefallen, deshalb darf ich das auch nicht tun?

Mir stellt sich wieder die frage, wozu haben die php-entwicker überhaubt die image-funktion entwickelt? - bestimmt damit wir uns jetzt in die haare bekommen.

Also again: Warum ich das mit den images machen will ist doch meine sache, ok einige von euch haben was dagegen aber das kann ich nicht berücksichtigen in meinem anfängerwahn1

Mich auch keiner gefragt ob ich mit dem aktuellen bundeskanzler einverstanden bin
__________________
ACHTUNG: RamonaS zeigte ein beschämendes Verhalten in der Vergangenheit
Mit Zitat antworten
  #24 (permalink)  
Alt 08-04-2009, 22:28
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.593
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von RamonaS
Jetzt kom ich nicht ganz mit...das mußt du mir nochmals verdeutlichen.

Meinst du weil dir oder dem einen oder anderen erzeugte bilder nicht gefallen, deshalb darf ich das auch nicht tun?

Mir stellt sich wieder die frage, wozu haben die php-entwicker überhaubt die image-funktion entwickelt? - bestimmt damit wir uns jetzt in die haare bekommen.
Bei einem einfachen Würfel lässt sich gut streiten. Ich glaub kaum, dass das Zeichnen von 5 Punkten einen Server in die Knie zwingt. Es ist halt trotzdem unnötig verbratene Rechenleistung. Das muss meiner Meinung nach nicht sein, wenn es auch ohne viel Aufwand sparsamer geht. Es ist nicht tragisch, aber rein vom Prinzip her unschön.

Warum es die image-Funktionen gibt? Man kann mit den image-Funktionen Bilder auch _einmalig_ bearbeiten oder erstellen. Ein gutes Beispiel ist ein Bilderhochlade-Script, das die Bilder anschließend auf eine bestimmte Größe resizen muss. Das wird einmal beim Upload gemacht und anschließend wird einfach immer wieder die selbe Bilddatei ausgeliefert. Ist auch wesentlich sinnvoller, als bei jedem Aufruf alle Bilder quasi in Echtzeit zu resizen, obwohl es jedesmal das selbe Ergebnis liefert.

Anders sieht es aus, wenn die gelieferten Bilder jedesmal wirklich neu generiert werden müssen und niemals das selbe Bild benötigt wird. In dem Fall gehts leider nicht anders. Aber hier sollte man ein Auge auf die benötigte Rechenleistung werfen und abschätzen ob der Server damit auf Dauer klar kommt.
Mit Zitat antworten
  #25 (permalink)  
Alt 08-04-2009, 23:09
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Zitat:
Original geschrieben von RamonaS
Jetzt kom ich nicht ganz mit...das mußt du mir nochmals verdeutlichen.
Mach ich gern.

Zitat:
Meinst du weil dir oder dem einen oder anderen erzeugte bilder nicht gefallen, deshalb darf ich das auch nicht tun?
...
Also again: Warum ich das mit den images machen will ist doch meine sache, ok einige von euch haben was dagegen aber das kann ich nicht berücksichtigen in meinem anfängerwahn1
Du kannst machen was du willst. Aber du willst doch was lernen oder? In diesem Sinne wurde dir geraten, einen anderen Weg zum Ziel einzuschlagen. Einen, der nach erfahrener Meinung besser ist.

Vorschlag: Erzeuge die Bilder dynamisch, dabei lernst du die Image-Funktionen kennen. Aber speichere das Resultat ab und erzeuge es erst wieder neu, wenn es gelöscht wurde. Dadurch vereinst du beide Ansätze sehr elegant. So könnte das aussehen:
PHP-Code:
header('Content-Type: image/png');

$n rand(16);
$file 'images/dice' $n '.png';

if (!
file_exists($file)) {
    
$image imagecreate(...);
    
// hier den Bildinhalt erstellen ...
    
imagepng($image$file);
}

readfile($file); 
Mit Zitat antworten
  #26 (permalink)  
Alt 09-04-2009, 00:02
Peacie
 Registrierter Benutzer
Links : Onlinestatus : Peacie ist offline
Registriert seit: Nov 2003
Beiträge: 341
Peacie ist zur Zeit noch ein unbeschriebenes Blatt
Peacie eine Nachricht über ICQ schicken Peacie eine Nachricht über AIM schicken Peacie eine Nachricht über Yahoo! schicken
Standard

also eins kann ich nunmal garnicht verstehen..

fast alle captcha scripte die ich kenne verwenden KEINE lokalen bilder, weil es auch blödsinn wäre

wenn ein robot im quelltext eins.png drei.png vier.png erkennt, wie lange wird er brauchen um das zu verstehen ?

unabhängig davon wie lange ein OCR brauchen würde 3 würfel zu erkennen.

Zitat:
Das dynamische Erzeugen von Bildern ist in diesem Fall eine blöde Idee. Das hat man dem TE schon mehrmals gesagt, aber leider ist er auf diesem Ohr taub. Ein Gegenargument hat er jedenfalls nicht genannt - "ich will weniger Bilder auf der Platte haben" ist ja wohl ein Witz!
und genau HIER bei einem CAPTCHA ist es das wohl genau nicht.
Ich fände (wohl meine meinung) statische bilder bei diesem problem eher ein witz
__________________
Mibau Datendesign - Online Ferienwelt
Mit Zitat antworten
  #27 (permalink)  
Alt 09-04-2009, 00:10
Wurzel
 Master
Links : Onlinestatus : Wurzel ist offline
Registriert seit: Jul 2002
Ort: double-u-upper-valley
Beiträge: 7.477
Wurzel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

kinners entspannt euch mal. was wollt ihr mit ocr & co, wenn die werte im form mit übergeben werden

Zitat:
Original geschrieben von RamonaS


Soooo, also ich habe eine index.php mit diesem Inhalt:

PHP-Code:
<?php
if(session_id()==""){session_start();}
$nr=range(1,6); shuffle($nr); # 6 Zufallszahlen erzeugen (es werden davon nur die ersten 3 benutzt: $nr[0]-$nr[2])
$_SESSION['n0']=$nr[0];
$_SESSION['n1']=$nr[1];
$_SESSION['n2']=$nr[2];
$n=$nr[0]+$nr[1]+$nr[2];

if(isset(
$_POST['check_pw']))
 {if(
trim($_POST['pw'])==trim($_POST['n'])) {echo "Richtige Antwort";}
  else {echo 
"Falsche Antwort";}
 }
?>
<br />
<img src="makeWuerfel1.php">
<br />

<form action="<?php echo $_SERVER['PHP_SELF']?>" method="post">
 <fieldset>
  <input type="hidden" name="n" value="<?php echo $n?>" />
  <input type="text" name="pw" />
  <input type="submit" name="check_pw" />
 </fieldset>
</form>
... abgesehen davon, kann ich 3 statische bilder auch in eines packen ... ist aber wahrscheinlich zu einfach
__________________
Kissolino.com
Mit Zitat antworten
  #28 (permalink)  
Alt 09-04-2009, 00:19
Peacie
 Registrierter Benutzer
Links : Onlinestatus : Peacie ist offline
Registriert seit: Nov 2003
Beiträge: 341
Peacie ist zur Zeit noch ein unbeschriebenes Blatt
Peacie eine Nachricht über ICQ schicken Peacie eine Nachricht über AIM schicken Peacie eine Nachricht über Yahoo! schicken
Standard

hehe, ja natürlich. da könnte man auch einfach ne zahl in ein textfeld schreiben.

grundsätzlich ein bild ist ja auch richtig.
aber ich verstehe halt nicht, warum so viele drauf bestehen das in diesem fall ein lokales bild sinn macht
__________________
Mibau Datendesign - Online Ferienwelt
Mit Zitat antworten
  #29 (permalink)  
Alt 09-04-2009, 00:27
Wurzel
 Master
Links : Onlinestatus : Wurzel ist offline
Registriert seit: Jul 2002
Ort: double-u-upper-valley
Beiträge: 7.477
Wurzel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Peacie
aber ich verstehe halt nicht, warum so viele drauf bestehen das in diesem fall ein lokales bild sinn macht
man muss ja erstmal dahinterkommen, dass es ein captcha werden soll
__________________
Kissolino.com
Mit Zitat antworten
  #30 (permalink)  
Alt 09-04-2009, 00:51
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Zitat:
Original geschrieben von Peacie
wenn ein robot im quelltext eins.png drei.png vier.png erkennt, wie lange wird er brauchen um das zu verstehen ?
Im HTML der Seite steht aber nicht eins.png, zwei.png und so weiter sondern dice.php. Und zwar immer. Mind the gap!
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 21:36 Uhr.